【发布时间】:2016-12-18 09:32:57
【问题描述】:
我正在尝试打开相机并设置相机图片的保存路径,如下行所示:
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(this.mFileImgPath))
我遇到的问题是,如果我在相机处于纵向模式时拍照,那么“onActivityResult”将被正常调用,当我检查“mFileImgPath”时它不会为空。但是当我使用相同的代码并拍照时 在横向模式下,将调用“onActivityResult”,但“mFileImgPath”始终为空。
为了进一步调查,我使用了调试器,如果我尝试在 Lanscape 模式下拍照,“mFileImgPath”总是为空。请看一下调试器的屏幕截图
请告诉我为什么“mFileImgPath”在横向模式下总是为空?以及如何解决它
代码
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
this.mFileImgPath = new File(App.instance.getOutDir() + "/" + new Date().getTime());
Log.e(TAG, "mFileImgPath" + mFileImgPath);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(this.mFileImgPath));
调试器
如屏幕截图所示,“mFileImgPath”为空,当我单击 steo over 时,调试器会跳过 if 条件
【问题讨论】:
-
MediaStore.EXTRA_OUTPUT always contains null in Lanscape mode。错误的。不对。您的路径的 String 变量为空。
标签: android camera android-camera onactivityresult startactivityforresult