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

React Native应用因READ_CALL_LOG权限遭Google Play控制台拒绝求助

解决Google Play因通话日志权限拒审的实操方案

得先明确:Google Play对READ_CALL_LOG这类敏感权限审核极严,属于高风险隐私权限,必须完全匹配应用核心功能,且绝对不能在应用被杀死后无必要调用这类权限。

核心自查&修复方向

  • 砍掉非必要权限:先确认你的Socket应用是否真的需要在被杀死时读取通话日志?如果这不是核心功能,直接删除READ_CALL_LOG权限,改用非敏感方式实现需求——比如通过前台服务监听通话状态,根本无需读取通话日志。
  • 权限声明要精准落地:在Google Play控制台的权限声明板块,必须明确写出使用READ_CALL_LOG的具体场景,比如“仅在用户发起Socket语音通话时,读取最近通话记录快速匹配联系人”,且该场景必须是应用的核心功能,不能是可有可无的附加功能。
  • 清理隐式引入的权限:你添加的<uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" />仅处理了短信权限,但拒审根源还是通话日志权限。检查是否有依赖库偷偷引入了通话相关权限,可用以下命令排查:
    ./gradlew app:dependencies
    
    找到带通话权限的依赖后,用tools:node="remove"删掉对应的权限声明。

替代方案:无需读取通话日志也能监听通话状态

如果确实需要监听通话状态,完全没必要读取通话日志:可以使用风险更低的PROCESS_OUTGOING_CALLS权限配合广播接收器,或者用TelephonyManager的监听接口,只在应用存活时监听状态变化,避免在应用被杀死后触发权限调用。

申诉需注意的细节

  1. 重新完善权限声明:在Google Play控制台「应用内容」→「权限」中,详细说明使用READ_CALL_LOG的场景、用户受益点,以及隐私保护措施(比如数据仅本地处理、不上传服务器等)。
  2. 附上功能演示视频:录制短视频展示应用使用通话日志权限的具体场景,证明该功能是核心且必要的。
  3. 清理Manifest冗余权限:只保留应用必需的权限,每个权限都要有对应的功能支撑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:45:11