在android中保存从相机到文件捕获的图像

时间:2013-08-15 21:23:01

标签: android

嗨在我的应用程序中,我试图从相机拍摄照片并将该图像存储在文件对象中。为此,我将文件写入外部存储,但当我尝试检索文件时,我收到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");

2 个答案:

答案 0 :(得分:0)

尝试添加

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

到AndroidManifest

答案 1 :(得分:0)

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

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

您应该使用:

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