You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

应用因使用SMS_SEND/SEND_SMS权限并选择默认处理程序被Google拒审的解决办法咨询

关于SEND_SMS权限与默认短信处理程序的审核问题解答

我来帮你理清楚这个问题——毕竟SEND_SMS权限和默认短信处理程序的审核坑,我见过太多开发者踩过了。

首先回答你的第一个问题:会不会因此被拒审?

是的,这种情况大概率会触发Google Play的审核拒绝。Google对短信权限的管控非常严格,尤其是当你把App设置为默认短信处理程序时,会被判定为“替代系统原生短信应用”的角色,这时候审核团队会重点核查你的App是否真的有必要这么做,有没有权限滥用的潜在风险。如果你的App核心功能不是短信管理,却抢占默认处理程序位置+申请SEND_SMS权限,几乎一定会被拒。

已经被拒后的解决方法

针对你的情况,我整理了几个可落地的修复方向:

1. 优先考虑移除SEND_SMS权限(最稳妥的方案)

如果你的App只是需要触发发送短信的操作,而非必须自动发送,完全可以放弃SEND_SMS权限,改用系统Intent跳转原生短信界面让用户手动发送。这种方式既合规,又不会触发权限审核问题。示例代码如下:

// Kotlin示例
val smsIntent = Intent(Intent.ACTION_SENDTO)
smsIntent.data = Uri.parse("smsto:1234567890") // 替换为目标手机号
smsIntent.putExtra("sms_body", "这是预设的短信内容")
if (smsIntent.resolveActivity(packageManager) != null) {
    startActivity(smsIntent)
}
// Java示例
Intent smsIntent = new Intent(Intent.ACTION_SENDTO);
smsIntent.setData(Uri.parse("smsto:1234567890"));
smsIntent.putExtra("sms_body", "这是预设的短信内容");
if (smsIntent.resolveActivity(getPackageManager()) != null) {
    startActivity(smsIntent);
}

2. 若必须保留SEND_SMS权限,严格遵守规则

如果你的App确实需要自动发送短信(比如验证码通知、物流提醒等),那必须做到以下几点:

  • 明确权限用途:在App内首次请求权限时,用弹窗清晰说明“为什么需要这个权限”(比如“用于自动发送订单验证码到你的手机”),同时在隐私政策里详细描述权限的使用场景。
  • 放弃默认短信处理程序设置:除非你的App核心功能是短信管理(比如替代原生短信的第三方短信App),否则绝对不要设置为默认处理程序——这是审核拒绝的重灾区。
  • 合理申请权限时机:不要一启动App就请求权限,要等到用户触发需要发送短信的操作(比如提交订单后)再弹出权限申请,让用户明白权限和当前操作的关联。

3. 针对已拒绝的审核流程处理

  • 仔细阅读拒绝邮件:Google的拒绝邮件里会明确说明拒绝原因(比如“不必要的默认短信处理程序设置”“权限滥用嫌疑”),一定要对应原因修改,不要盲目提交。
  • 提交审核时添加备注:修改完成后重新提交,在审核备注里详细说明你做了哪些调整(比如“移除了默认短信处理程序设置,改用系统Intent跳转发送短信;补充了权限使用说明弹窗”),帮助审核团队快速了解你的修复动作。
  • 必要时申诉:如果修改后仍然被拒,可以在审核后台发起申诉,提供App使用短信权限的具体场景截图、隐私政策说明,证明你的权限使用是合理且符合政策的。

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

火山引擎 最新活动