我正在尝试使用某些参数调用相机,以及我的活动处理返回照片所需的一些额外数据, 我用了这段代码:
Intent intent = new Intent(MediaStore.ActionImageCapture);
Java.IO.File file = new Java.IO.File(System.IO.Path.Combine(App.DatabaseFolder, ATTACHMENT_FILE));
intent.PutExtra(MediaStore.ExtraOutput, Android.Net.Uri.FromFile(file));
intent.PutExtra(MediaStore.ExtraScreenOrientation, (int)ScreenOrientation.Portrait);
intent.PutExtra("source_id", id); // here I put the extra data
StartActivityForResult(intent, CAMERA_INTENT_REQUEST);
现在我正在尝试检索结果返回时发送给活动的ID
有办法吗?我试过了
if (requestCode = CAMERA_INTENT_REQUEST && resultCode == Result.Ok) {
data.GetIntExtra("source_id", -1);
}
但我似乎无法检索结果
作为一种解决方法,我设法通过在结果代码或文件名中保存id来完成上述操作,但我更愿意找到另一种方式,是否有一个?
如果您发现代码很奇怪,它是用Xamarin Android编写的,但它仍然是一个Android问题
提前感谢您提供的任何帮助
答案 0 :(得分:1)
你不能这样做。相机是外部应用程序,不会收集您的额外信息"。
此处有更多信息:AndroidDeveloer - Camera API
因此,在您的情况下,您应该将您的id存储到全局变量或SharedPreferences
中