Camera } _file=new file(file.Path+file.Separator+“IMG_u”+DateTime.Now.ToString(“yyyyMMdd\u HHmmss”)+“.jpg”); intent.PutExtra(MediaStore.ExtraOutput,Uri.FromFile(_file)); StartActivityForResult(意图、常数、摄像机活动); } 其他的 { Toast.MakeText(此“此设备没有摄像头,请从其他选项中选择图像。”,ToastLength.Short)。Show(); } }

Camera } _file=new file(file.Path+file.Separator+“IMG_u”+DateTime.Now.ToString(“yyyyMMdd\u HHmmss”)+“.jpg”); intent.PutExtra(MediaStore.ExtraOutput,Uri.FromFile(_file)); StartActivityForResult(意图、常数、摄像机活动); } 其他的 { Toast.MakeText(此“此设备没有摄像头,请从其他选项中选择图像。”,ToastLength.Short)。Show(); } },camera,imageview,android-camera,xamarin.android,Camera,Imageview,Android Camera,Xamarin.android,我将此作为如何处理一些不会返回意图的设备的参考 activityresult上的受保护覆盖无效(int-requestCode、Result-resultCode、Intent数据) { base.OnActivityResult(请求代码、结果代码、数据); if(resultCode==Result.Ok) { //检查照相机活动,我的应用程序允许画廊和照相机检索图片。 if(requestCode==常量。摄像头_活动) { //某些设备不会传回意图,因

我将此作为如何处理一些不会返回意图的设备的参考

activityresult上的受保护覆盖无效(int-requestCode、Result-resultCode、Intent数据)
{
base.OnActivityResult(请求代码、结果代码、数据);
if(resultCode==Result.Ok)
{
//检查照相机活动,我的应用程序允许画廊和照相机检索图片。
if(requestCode==常量。摄像头_活动)
{                  
//某些设备不会传回意图,因此您的数据可能为空
if(data!=null&&!string.IsNullOrEmpty(data.DataString))
{
//设备上映像所在位置的完整uri。
Android.Net.Uri.Parse(data.DataString);
}
其他的
{
//某些设备无法从intent传回正确数据的问题。
var uris=GetImagePathFromCamera();
if(uri==null)
{
//一些没有sd卡的设备出现问题,所以我创建了文件并将其存储在设备上
var方向=0;
var date=string.Empty;
//_file是一个java.io.file,在指定get extra时以intent方式传递。
尝试
{
var exif=new ExifInterface(_file.Path);
方向=exif.GetAttributeInt(ExifInterface.TagOrientation,-1);
date=exif.GetAttribute(ExifInterface.TagDatetime);
}
捕获{}
开关(方向)
{
案例6:
助手。方向=90;
打破
案例3:
方向=180;
打破
案例8:
助手。方向=270;
打破
违约:
助手。方向=0;
打破
}
ContentValues=新的ContentValues();
value.Put(Android.Provider.MediaStore.Images.Media.InterfaceConsts.DisplayName,_file.Name);
value.Put(Android.Provider.MediaStore.Images.Media.InterfaceConsts.datetake,date);
value.Put(Android.Provider.MediaStore.Images.Media.InterfaceConsts.MimeType,“image/jpeg”);
value.Put(Android.Provider.MediaStore.Images.Media.InterfaceConsts.Orientation、Helpers.Orientation);
value.Put(Android.Provider.MediaStore.Images.Media.InterfaceConsts.Data,_file.Path);
var uri=ContentResolver.Insert(Android.Provider.MediaStore.Images.Media.ExternalContentUri,值);
//返回的uri是设备上映像的路径
}
其他的
{
//uri是指定拍摄的图像及其缩略图的uri列表
}
};
}
}
其他的
{
//如果需要,请通知用户相机已取消
}
}

我在这里回答了相同的问题我在这里回答了相同的问题