2011-11-11 106 views
1

我想写一个Bitmap对象的文件。 这是我的代码:Android保存文件权限被拒绝

File f = new File(path + "-bw.jpg"); 
OutputStream fileStream = new BufferedOutputStream(new FileOutputStream(path + "-bw.jpg")); 
image.getBitmap().compress(Bitmap.CompressFormat.JPEG, 100, fileStream); 
fileStream.close(); 

以下是堆栈跟踪:

1-11 09:56:05.553: D/dalvikvm(277): GC_EXTERNAL_ALLOC freed 385 objects/15832 bytes in 69ms 
11-11 09:56:05.733: D/dalvikvm(277): GC_EXTERNAL_ALLOC freed 32 objects/34048 bytes in 51ms 
11-11 09:56:05.923: E/Save error(277): /mnt/sdcard/Water lilies-bw.jpg (Permission denied) 
11-11 09:56:05.923: E/Save error(277): java.io.FileNotFoundException: /mnt/sdcard/Water lilies-bw.jpg (Permission denied) 
11-11 09:56:05.923: E/Save error(277): at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method) 
11-11 09:56:05.923: E/Save error(277): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152) 
11-11 09:56:05.923: E/Save error(277): at java.io.FileOutputStream.<init>(FileOutputStream.java:97) 
11-11 09:56:05.923: E/Save error(277): at java.io.FileOutputStream.<init>(FileOutputStream.java:168) 
11-11 09:56:05.923: E/Save error(277): at java.io.FileOutputStream.<init>(FileOutputStream.java:147) 
11-11 09:56:05.923: E/Save error(277): at it.bwpp.activity.ConvertPictureActivity.convertImage(ConvertPictureActivity.java:75) 
11-11 09:56:05.923: E/Save error(277): at it.bwpp.activity.ConvertPictureActivity.access$6(ConvertPictureActivity.java:68) 
11-11 09:56:05.923: E/Save error(277): at it.bwpp.activity.ConvertPictureActivity$1.onClick(ConvertPictureActivity.java:58) 
11-11 09:56:05.923: E/Save error(277): at android.view.View.performClick(View.java:2408) 
11-11 09:56:05.923: E/Save error(277): at android.view.View$PerformClick.run(View.java:8816) 
11-11 09:56:05.923: E/Save error(277): at android.os.Handler.handleCallback(Handler.java:587) 
11-11 09:56:05.923: E/Save error(277): at android.os.Handler.dispatchMessage(Handler.java:92) 
11-11 09:56:05.923: E/Save error(277): at android.os.Looper.loop(Looper.java:123) 
11-11 09:56:05.923: E/Save error(277): at android.app.ActivityThread.main(ActivityThread.java:4627) 
11-11 09:56:05.923: E/Save error(277): at java.lang.reflect.Method.invokeNative(Native Method) 
11-11 09:56:05.923: E/Save error(277): at java.lang.reflect.Method.invoke(Method.java:521) 
11-11 09:56:05.923: E/Save error(277): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
11-11 09:56:05.923: E/Save error(277): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
11-11 09:56:05.923: E/Save error(277): at dalvik.system.NativeStart.main(Native Method) 
11-11 09:56:05.923: I/save image(277): End save image... 

哪里错误?谢谢!

回答

11

我想你忘了给你添加android.permission.WRITE_EXTERNAL_STORAGE权限给你AnroidManifest.xml。

+0

如何在公共内部区域存储上书写?例如。在图片的内部区域文件夹。 –

+0

我相信这是你正在寻找的:[使用内部存储](http://developer.android.com/guide/topics/data/data-storage.html#filesInternal)。 – Malcolm