2011-11-11 133 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