Android10 读取存储文件权限出错EACCES (Permission denied)

2,146 阅读1分钟

java.io.FileNotFoundException: open failed: EACCES (Permission denied)

在代码里已经动态请求存储文件的读写权限,但还是会报错

 if (Build.VERSION.SDK_INT >= 23) {
           int REQUEST_CODE_PERMISSION_STORAGE = 100;
           String[] permissions = {
                   Manifest.permission.READ_EXTERNAL_STORAGE,
                   Manifest.permission.WRITE_EXTERNAL_STORAGE
           };

           for (String str : permissions) {
               if (this.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {
                   this.requestPermissions(permissions, REQUEST_CODE_PERMISSION_STORAGE);
                   return true;
               }
           }
       }
<application
   	android:name=".MainApplication"
   	android:label="@string/app_name"
   	android:icon="@mipmap/ic_launcher"
   	android:roundIcon="@mipmap/ic_launcher_round"
   	android:requestLegacyExternalStorage="true"
   	android:allowBackup="true"
   	tools:targetApi="28"
   	tools:ignore="GoogleAppIndexingWarning"
   	android:theme="@style/AppTheme">

android:requestLegacyExternalStorage="true"加上这个可以读取到文件了