Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-照相机意图-照片已删除_Android_Android Intent_Camera_Uri - Fatal编程技术网

Android-照相机意图-照片已删除

Android-照相机意图-照片已删除,android,android-intent,camera,uri,Android,Android Intent,Camera,Uri,我在使用相机应用程序拍照时遇到了一个问题&在我有机会在应用程序中使用之前,照片被删除了。似乎只发生在某些设备上(三星Galaxy S2、三星Galaxy Tab 10.1和LG.,不记得型号)。我的应用程序中的每个活动都将屏幕方向设置为纵向(manifest:android:screenOrientation=“纵向”)。如何重现问题: 1.点击我的应用程序中的“拍照”按钮,这将加载相机应用程序。 2.在肖像中拍照,这会在正确的位置创建文件(基于我提供的URI),并在相机应用程序中显示预览。 3

我在使用相机应用程序拍照时遇到了一个问题&在我有机会在应用程序中使用之前,照片被删除了。似乎只发生在某些设备上(三星Galaxy S2、三星Galaxy Tab 10.1和LG.,不记得型号)。我的应用程序中的每个活动都将屏幕方向设置为纵向(manifest:android:screenOrientation=“纵向”)。如何重现问题: 1.点击我的应用程序中的“拍照”按钮,这将加载相机应用程序。 2.在肖像中拍照,这会在正确的位置创建文件(基于我提供的URI),并在相机应用程序中显示预览。 3.让设备保持纵向并点击“保存图像”(这会让您回到我的应用程序)。 4.当我返回到我的应用程序时,我会检查文件是否存在,它是否存在

如果在纵向拍摄照片,然后将设备旋转到横向(显示预览时),然后点击“保存图像”(在横向拍摄时),照片不会被删除

如果您在横向拍摄照片(并在点击“保存”时将设备保留在横向),照片不会被删除

如果在横向中捕捉照片,然后将预览旋转为纵向,则不会删除照片

我读过,谷歌搜索过,为了弄明白这一点,我把头发拔了出来

当照片拍摄并保存为纵向时,当返回到我的应用程序时,我的应用程序处于横向,然后旋转到纵向

任何帮助(即使是链接到另一篇有答案的帖子)都将不胜感激

谢谢:)

下面是我的一些代码(出现问题时,\ u cameraFileUri为null):


抱歉,此问题已解决。我真的等了一个星期才在这个论坛上发帖。我知道我一贴出来就知道答案了


这个应用程序是免费的。它正在重新创建活动,因此它正在重新运行onCreate方法。我删除临时文件夹中的文件作为“家务”。我在“onCreate”中这样做。因此,当onCreate重新运行时,它将删除相机放在临时文件夹中的照片

注意:startActivityForResult实际上在它自己的例程中被一个try/catch块包围。if(_cameraFileUri!-null)在“onActivityResult”中,在我检查结果代码的代码块中,等等。我从我的帖子中省略了所有内容&在重读之后,它看起来有点奇怪。想澄清一下:)我真的等了一个星期才在这个论坛上发帖。我知道我一贴出来就知道答案了。这个应用程序是免费的。它正在重新创建活动,因此它正在重新运行onCreate方法。我删除临时文件夹中的文件作为“家务”。我在“onCreate”中这样做。所以应用程序会旋转,通过“onCreate”重新运行,这会从存储中删除我的临时文件(duh)。:)很好,你知道了。我花了一些时间才意识到你告诉我你解决了它。把你的评论说得更清楚,这样别人就不会花时间去调查了
      Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        _cameraFileUri = Uri.fromFile(new File(_tempFolder, "tempFromCamera.jpg"));

        intent.putExtra(MediaStore.EXTRA_OUTPUT, _cameraFileUri); // set the image file name

        // start the image capture Intent
        startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);


                    if (_cameraFileUri != null) {

                    File origFile = new File(_cameraFileUri.getPath());

                    resizePhoto(origFile);

                    showPhoto();

                } else {
                    Toast.makeText(getApplicationContext(), "Error: Capture Photo Failed.", Toast.LENGTH_LONG).show(); 

                }