无法将相机拍摄的照片保存在应用程序的“文件”文件夹中

时间:2014-12-23 10:03:10

标签: android permissions camera storage

我在应用程序的Internal Storage“files”文件夹中创建了一个名为“myImage”的文件夹。当我用相机拍照时,我想将照片保存在“files / myImage”文件夹中。似乎相机没有写入该文件夹的权限,因为该文件夹仍为空。另一方面,当我在外部存储器中创建“myImage”文件夹时,照片会正常保存。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
UUID myPhotoGuid = UUID.randomUUID();
myPhotoName = myPhotoGuid.toString();

String dirPath = getActivity().getFilesDir().getAbsolutePath() + File.separator + "myImage";
File myPhotoDirectory = new File(dirPath);
myPhotoDirectory.mkdir();

File f = new File(myPhotoDirectory.toString(), myPhotoName);                    

                // Save the captured image in f file
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));                    
                startActivityForResult(intent, CAPTURE_IMAGE);

可能有什么不对? 有没有办法更改文件夹的权限?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

而不是getFilesDir使用getExternalFilesDir。

您可能还需要添加一些权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />