0

您好在我的应用程序中,我正在尝试从相机拍摄照片并将该图像存储在文件对象中。为此,我将文件写入外部存储,但是当我尝试检索文件时,我收到了 filenotfound 异常。请帮我。这是我用来保存到文件的代码。

Environment.getExternalStorageState();

           File mediaStorageDir = new File(getCacheDir(),"AppName");

           //mediaStorageDir.mkdir();
           System.out.println("directory path "+mediaStorageDir.getPath());
           if (! mediaStorageDir.exists()){
               mediaStorageDir.mkdirs();
                if (! mediaStorageDir.mkdirs()){
                    Log.d("MyCameraApp", "failed to create directory");

                }
            }

           File   mediaFile = new File(mediaStorageDir.getPath() + File.separator +
                    "IMG_"+ "mypic" + ".jpg");
4

2 回答 2

0

尝试添加

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

到 AndroidManifest

于 2013-08-15T21:31:37.803 回答
0

为什么使用缓存目录而不是外部存储?http://developer.android.com/reference/android/content/Context.html#getCacheDir()

“返回文件系统上应用程序特定缓存目录的绝对路径。当设备存储空间不足时,这些文件将首先被删除。无法保证何时删除这些文件。”

您应该改用:

http://developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)

于 2013-08-15T21:34:54.593 回答