Android 15非系统应用SEND_SMS权限禁用问题及可行方案咨询
Android 15 中非系统应用使用
SEND_SMS 权限的说明 核心结论
非系统应用无法再使用SEND_SMS权限在Android 15及后续版本中后台发送短信,该权限已被严格限制为系统应用专属的白名单权限。
具体限制细节
- Android 15 对短信相关权限做了大幅收紧,
SEND_SMS被纳入系统权限白名单,仅系统应用、预装的核心通信类应用(如系统自带短信APP)可正常申请和使用。 - 非系统应用的应用信息中,短信权限的「允许」选项会被置灰不可选,即使之前版本已获取该权限,升级到Android 15后也会被自动回收。
- 非系统应用无法在后台静默发送短信,若需实现短信发送功能,只能通过系统短信应用的发送界面触发(唤起系统短信APP让用户手动确认发送)。
替代方案建议
- 使用
ACTION_SENDTO隐式Intent唤起系统短信应用,传入目标号码和短信内容,由用户完成发送操作,无需申请SEND_SMS权限。示例代码:
val smsIntent = Intent(Intent.ACTION_SENDTO).apply { data = Uri.parse("smsto:${targetPhoneNumber}") putExtra("sms_body", messageContent) } if (smsIntent.resolveActivity(packageManager) != null) { startActivity(smsIntent) }
- 若业务需自动化发送,可考虑集成第三方短信服务(如运营商提供的API接口),通过网络请求发送短信,完全避开系统短信权限限制。
内容的提问来源于stack exchange,提问作者breeze
相关产品推荐
相关产品推荐

