android11以上SD卡存储权限适配申请问题

在Android 11(API级别30)及以上版本中,应用需要获得MANAGE_EXTERNAL_STORAGE权限。这个权限允许应用访问设备上的所有文件,而不仅仅是它自己的文件。然而,由于这个权限对用户的隐私有潜在的影响,因此Google对其使用进行了严格的限制,在申请Manifest.permission.MANAGE_EXTERNAL_STORAGE权限的时候默认是拒绝且不再提醒的

推荐的做法是使用MediaStore API或存储访问框架(SAF)来访问共享存储空间上的文件,而不是请求MANAGE_EXTERNAL_STORAGE权限。然而,如果你的应用确实需要这个权限,你可以通过以下步骤来请求它:

AndroidManifest.xml中声明权限
首先,你需要在应用的AndroidManifest.xml文件中声明MANAGE_EXTERNAL_STORAGE权限。

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
if ((ContextCompat.checkSelfPermission(this, Manifest.permission.MANAGE_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED)  ) {
            //如果没有权限,获取权限{  
    Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);  
    intent.setData(Uri.parse("package:" + getPackageName()));  
    startActivity(intent);  
}  

 
  1. hasManageExternalStoragePermission方法用于检查应用是否已经获得了MANAGE_EXTERNAL_STORAGE权限。如果没有,就创建一个Intent来启动系统设置页面,让用户可以授予这个权限。

  2. 处理权限授予结果
    用户可以在系统设置中授予或拒绝这个权限。你的应用无法直接检测到这个结果,但你可以监听onActivityResult回调来检查用户是否返回到了你的应用。然而,由于这是一个特殊权限,你无法直接知道用户是否授予了权限。

相关推荐

  1. android11以上SD存储权限申请问题

    2024-02-18 11:08:02       51 阅读
  2. Android 10 】隐私权限变更

    2024-02-18 11:08:02       49 阅读
  3. Android所有版本的存储权限

    2024-02-18 11:08:02       39 阅读
  4. Android状态栏问题

    2024-02-18 11:08:02       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-18 11:08:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 11:08:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 11:08:02       87 阅读
  4. Python语言-面向对象

    2024-02-18 11:08:02       96 阅读

热门阅读

  1. gin(结)

    2024-02-18 11:08:02       45 阅读
  2. WebSocket 详细教程

    2024-02-18 11:08:02       43 阅读
  3. [前端开发] CSS基础知识 [下]

    2024-02-18 11:08:02       59 阅读
  4. C++进阶语法:异常

    2024-02-18 11:08:02       54 阅读
  5. ts总结大全

    2024-02-18 11:08:02       47 阅读
  6. 2.17学习总结

    2024-02-18 11:08:02       59 阅读
  7. Nginx 命令(Ubuntu)

    2024-02-18 11:08:02       54 阅读
  8. Android录制屏幕功能适配androidQ前台通知栏显示

    2024-02-18 11:08:02       42 阅读
  9. leetcode-top100回溯算法

    2024-02-18 11:08:02       59 阅读
  10. day32 贪心

    2024-02-18 11:08:02       57 阅读
  11. stable diffusion webui学习总结(1):准备工作

    2024-02-18 11:08:02       64 阅读
  12. C# 如何实现一个事件总线

    2024-02-18 11:08:02       38 阅读
  13. Vim相关配置

    2024-02-18 11:08:02       46 阅读
  14. optee RPC

    optee RPC

    2024-02-18 11:08:02      52 阅读