Xamarin Android:将数据发送到外部活动并从结果中检索它们

时间:2017-03-16 11:09:32

标签: android onactivityresult

我正在尝试使用某些参数调用相机,以及我的活动处理返回照片所需的一些额外数据, 我用了这段代码:

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问题

提前感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:1)

你不能这样做。相机是外部应用程序,不会收集您的额外信息"。

此处有更多信息:AndroidDeveloer - Camera API

因此,在您的情况下,您应该将您的id存储到全局变量或SharedPreferences