猛禽洛的程式筆記庫

[Android] Android 10 上寫入檔案時出現 java.io.IOException: Permission denied

在Android 10以前,寫入檔案時只要取得以下權限就可以:

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

並在程式中動態取得(以PermissionGen套件為例,詳細用法請至Github查看):

PermissionGen.with(AddTodoActivity.this)
  .addRequestCode(100)
  .permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE
      , Manifest.permission.READ_EXTERNAL_STORAGE)
  .request();

到目前為止,已經可以開始讀寫檔案,但在Android 10上又會出現此錯誤:

java.io.IOException: Permission denied

還是沒有權限!???

 

原來,又要去Manifests中的application新增參數:

<application
  ...
  ...
  android:requestLegacyExternalStorage="true"
  ...
  >

真是越來越麻煩了!

-END-

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *