在Android中旋转屏幕时,无法用android意图拍照

时间:2012-10-13 17:04:17

标签: android

我有一个Android应用程序,我打算这样打算拍照:

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
startActivityForResult(takePictureIntent, actionCode);

然后我用结果填充ImageView。

现在我发现了一个错误,然后我想要拍照并且在相机打开期间我旋转屏幕并拍照,我在ImageView中没有得到结果。

只有在不旋转相机时,拍照时才会在ImageView中看到它。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我假设你有一个获得结果的方法。

确保您的文件位置因旋转而未被清除(也就是说您正在查找错误的位置)。

我有这个问题。我正在设置一个全局变量,用于将照片保存到的位置。 我把它传递给了拍照的意图,并在返回时查看了该位置以显示照片。

但是,如果您旋转屏幕,全局变量将被销毁,依此类推,它不再知道在哪里找到照片。

最好的办法是将其保存到已保存的实例,然后从onResume重新初始化位置savedInstance

请参阅here on how to do it.