部分小米Android12/13设备调用requestPermissions无授权弹窗求助
小米Android 12/13设备无法弹出存储权限授权弹窗的解决方案
针对你遇到的小米Android 12/13设备调用WRITE_EXTERNAL_STORAGE权限时无授权弹窗、系统设置页也无权限开关的问题,给出以下可行解决方向:
1. 适配Android 11+的存储权限模型
从Android 11开始,WRITE_EXTERNAL_STORAGE权限已被废弃,小米在Android 12/13上对旧权限的处理做了特殊限制,导致无法触发授权弹窗。根据你的需求选择适配方案:
全文件访问需求(需用户手动授权)
- Manifest配置:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" android:minSdkVersion="30" /> <!-- 兼容Android 10及以下版本 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- 权限调用代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (!Environment.isExternalStorageManager()) { val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION) intent.data = Uri.parse("package:${context.packageName}") context.startActivity(intent) } } else { requestPermissions(context, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 777) }
仅访问媒体文件(无需特殊权限弹窗)
如果只是读写图片、视频等媒体文件,直接使用分区存储API即可,无需申请WRITE_EXTERNAL_STORAGE,避免权限兼容问题。
2. 处理权限被永久拒绝的场景
如果用户之前拒绝权限时勾选了「不再询问」,或小米系统直接屏蔽了弹窗,shouldShowRequestPermissionRationale会返回false,此时需要引导用户到应用详情页手动设置:
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) { if (!ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { // 跳转应用详情页 val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) val uri = Uri.fromParts("package", context.packageName, null) intent.data = uri context.startActivity(intent) } else { requestPermissions(context, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 777) } }
3. 升级应用的targetSdkVersion
若应用targetSdkVersion低于30,小米Android 12/13的权限兼容机制可能出现异常。建议将targetSdkVersion升级到33,适配最新的Android权限规范,减少系统兼容性问题。
4. 检查小米系统的特殊权限设置
部分小米设备的隐私策略会影响权限请求:
- 让用户检查「设置-隐私保护-权限管理-权限设置」中是否开启了「自动拒绝权限请求」;
- 尝试重置应用权限:「设置-应用-我的应用-对应应用-权限-右上角三点-重置权限」,重启应用后重试。
内容的提问来源于stack exchange,提问作者Termit___
相关产品推荐
相关产品推荐

