簡體   English   中英

Android保存文件權限被拒絕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM