android11如何访问Android/data目录

如题,android11访问Android/data目录需要什么权限

安卓10 AndroidManifest.xml的application里添加:

android:requestLegacyExternalStorage="true"

安卓11 新增权限:

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

动态添加:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
          // 先判断有没有权限
          if (Environment.isExternalStorageManager()) {
              writeFile();
          } else {
              Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
              intent.setData(Uri.parse("package:" + context.getPackageName()));
              startActivityForResult(intent, REQUEST_CODE);
          }
      }
 
  protected void onActivityResult(int requestCode, int resultCode,  Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (requestCode == REQUEST_CODE && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
          if (Environment.isExternalStorageManager()) {
             ToastUtils.show("取得存储权限");
          } else {
              ToastUtils.show("存储权限获取失败");
          }
      }
  }