qq_53827862 2022-03-27 12:31 采纳率: 97.3%
浏览 215
已结题

android11如何访问Android/data目录

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

  • 写回答

1条回答 默认 最新

  • 不会写代码的猴子 优质创作者: 操作系统技术领域 2022-03-27 21:25
    关注

    安卓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("存储权限获取失败");
              }
          }
      }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 修改了问题 3月27日
  • 创建了问题 3月27日