[英]Android Save File Permission denied
我想在文件上寫一個Bitmap
對象。 這是我的代碼:
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...
錯誤在哪里? 謝謝!
我認為您忘記向您的 AnroidManifest.xml 添加android.permission.WRITE_EXTERNAL_STORAGE
權限。
這是一個10年前的問題。 從那以后情況發生了變化。
現在在清單文件中聲明權限是不夠的。 您需要在運行時請求權限。
即使遵循許可現在也已過時。
android.permission.WRITE_EXTERNAL_STORAGE
請參閱此處的完整文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.