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

Android中RequestMultiplePermissions后READ_SMS权限始终未授权问题

Android请求SEND_SMS和READ_SMS权限后,READ_SMS始终显示未授权的解决办法

问题场景

实现运行时权限请求逻辑时,需要在未授予权限时请求SEND_SMS和READ_SMS权限。但测试发现,即使在权限弹窗中允许了所有权限,调试结果依然显示SEND_SMS=true、READ_SMS=false。

问题根源

排查后确认,核心原因是未在AndroidManifest.xml中声明READ_SMS权限。Android的危险权限要求必须同时满足两个条件才能正常生效:

  1. 在清单文件中提前声明权限
  2. 在代码中发起运行时权限请求
    若缺少清单声明,即使用户在弹窗中点击允许,系统也不会真正授予该权限,导致权限检测始终返回false。

解决方案

  1. 打开项目中的AndroidManifest.xml文件
  2. 在<manifest>标签内部添加READ_SMS权限声明,同时确认SEND_SMS权限已声明:
<!-- 确保SEND_SMS权限已声明 -->
<uses-permission android:name="android.permission.SEND_SMS" />
<!-- 添加缺失的READ_SMS权限声明 -->
<uses-permission android:name="android.permission.READ_SMS" />
  1. 重新编译运行项目,再次触发权限请求后,即可正常获取READ_SMS的授权状态。

内容的提问来源于stack exchange,提问作者user21917572

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:52:03