我有一个问题,我正在使用相机应用程序拍摄照片和在我有机会在我的应用中使用它之前,照片正在删除。似乎只发生在某些设备上(三星Galaxy S2,三星Galaxy Tab 10.1和LG。,不记得该型号)。我的应用中的每个活动都将屏幕方向设置为纵向(清单:android:screenOrientation =“portrait”)。我如何重现问题: 1.点击我的应用程序中的“拍照”按钮,这会加载相机应用程序。 2.以纵向拍照,在适当的位置创建文件(基于我提供的URI)&在相机应用中显示预览。 3.将设备保持在纵向和纵向点击“保存图片”(将您带回我的应用程序)。 4.当我返回到我的应用程序时,我检查文件是否存在,但它没有。
如果您以纵向拍摄照片,然后将设备旋转为横向(显示预览时),然后点击“保存图像”(横向显示时),照片不会被删除。
如果您以横向方式拍摄照片(并在点击保存时将设备保留为横向),则不会删除照片。
如果以横向拍摄照片,然后将预览旋转为纵向,则不会删除照片。
我读过&谷歌搜索把我的头发拉出来试图弄清楚这个。
拍照时&保存为纵向,当返回到我的应用程序时,我的应用程序处于横向状态,然后旋转为纵向。
任何帮助(即使它是指向另一个有答案的帖子的链接)都表示赞赏!
谢谢:)
以下是我的一些代码(当问题发生时,_cameraFileUri为null):
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();
}
答案 0 :(得分:0)
对不起,这个问题已经解决了。我老实说等了一个星期才发布在这个论坛上。我知道,只要我发布它,我就会找到答案。
旋转的app是赠品。它正在重新创建活动,因此它重新运行onCreate方法。对于“管家”,我删除了临时文件夹中的文件。我在“onCreate”中这样做。因此,当onCreate重新运行时,它会删除相机放在Temp文件夹中的照片。