【问题标题】:not find Permission MANAGE_EXTERNAL_STORAGE in android studio在android studio中找不到权限MANAGE_EXTERNAL_STORAGE
【发布时间】:2021-12-29 02:23:10
【问题描述】:

找不到权限 MANAGE_EXTERNAL_STORAGE 也找不到 Settings.ACTION_MANAGE_ALL_FILES_ACCESS 安卓工作室 android studio 版本为 2020.3.1 毕业版本 4.1.3 编译器版本 30 目标版本 30

【问题讨论】:

    标签: java android android-studio kotlin gradle


    【解决方案1】:

    在清单中声明 MANAGE_EXTERNAL_STORAGE 权限。

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

    【讨论】:

      【解决方案2】:

      在从存储中获取任何文件之前调用此方法

       
      
          private fun requestPermission() {
                  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
                      try {
                          val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
                          intent.addCategory("android.intent.category.DEFAULT")
                          intent.data = Uri.parse(String.format("package:%s", requireContext().packageName))
                          startActivityForResult(intent, 1000)
                      } catch (e: Exception) {
                          val intent = Intent()
                          intent.action = Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION
                          startActivityForResult(intent, 1000)
                      }
                  } else {
                      ActivityCompat.requestPermissions(
                          requireActivity(),
                          arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE),
                          1000                )
                  }
              }
      
      

      然后在 onActivityResult 你可以检查请求代码是否为 1000 然后从数据意图中获取 Uri

      【讨论】:

        猜你喜欢
        • 2021-07-10
        • 2018-02-16
        • 1970-01-01
        • 2022-01-18
        • 2021-01-22
        • 1970-01-01
        • 2022-01-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多