保存图片时出现FileNotFoundException()



我是安卓相机API的新手,代码中调用了PictureCallback,带有:

     PictureCallback jpegCallback = new PictureCallback() {
          public void onPictureTaken(byte[] data, Camera camera) {
             // Save the image JPEG data to the SD card
             FileOutputStream outStream = null;
             try {
                String path = Environment.getExternalStorageDirectory() +"test.jpg";
            outStream = new FileOutputStream(path);
            outStream.write(data);
            outStream.close();
         } catch (FileNotFoundException e) {
            Log.e(TAG, "File Note Found", e);
         } catch (IOException e) {
            Log.e(TAG, "IO Exception", e);
         }
      }
   };

针对这一行指出的例外情况:

outStream = new FileOutputStream(path);

由于我是安卓世界的新手,我不知道这个Environment.getExternalStorageDirectory()指出的到底在哪里。

例外情况是:

Java.io.FileNotFoundException:/storage/emulated/0 est.jpg:打开失败:EACCES(权限被拒绝)

但在我的清单中:

<uses-feature android:name="android.hardware.Camera"/>
   <uses-permission android:name="android.permission.CAMERA"/>

编辑:我修复了的路径

String path = Environment.getExternalStorageDirectory() +"/test.jpg";

但还是给了我:

java.io.FileNotFoundException:/storage/emulated/0/test.jpg:打开失败:EACCES(权限被拒绝)

java.io.FileNotFoundException:/storage/emulated/0/test.jpg:打开失败:EACCES(权限被拒绝)

你一定忘了添加

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

Android使用linux。路径分隔符是/而不是。此外,t还放入了一个选项卡,如果您想要一个实际的,则需要使用\t

相关内容

  • 没有找到相关文章

最新更新