使用MediaStore.ActionImageCapture拍照时,如何在Android(Xamarin应用程序)中发布相机?

时间:2016-07-12 16:13:08

标签: android xamarin camera mediastore

我有一个Android应用程序,使用相机拍照(使用下面链接的示例编写代码),但每当我退出应用程序时,相机未正确释放,因此后续尝试立即打开应用程序关闭它失败(应用程序崩溃)。如果我等待大约10秒钟,那么相机就会被释放,我可以重新打开该应用程序。

我尝试过Camera.release(),但无法识别该方法。有什么想法吗?

https://developer.xamarin.com/recipes/android/other_ux/camera_intent/take_a_picture_and_save_using_camera_app/

代码:

private void TakeAPicture()
{
    Intent intent = new Intent(MediaStore.ActionImageCapture);
    _file = new File(_dir, String.Format("myPhoto_{0}.jpg", Guid.NewGuid()));
    intent.PutExtra(MediaStore.ExtraOutput, Uri.FromFile(_file));
    StartActivityForResult(intent, 0);
}

1 个答案:

答案 0 :(得分:0)

我发现缺少的是我的Bitmap对象实例的释放持有捕获的图像,而不是相机,因为调用相机 - 这个代码示例中的调用是通过Android Intent完成的 - 显然需要关心它。

因此,解决方案是在onDestroy()上简单地将Bitmap对象设置为null。

快乐编码