You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部分小米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___

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:37:41