首页 > 解决方案 > 权限违规,但清单未请求 SMS 或 Call Log 权限

问题描述

由于违反许可,我们的 2 个应用今天在 Play 商店中下架。有没有人遇到过同样的问题?

注意:我们的应用代码不包含短信或通话记录权限。

嗨,XXX LTD 的开发人员,

经审核,由于违反政策,[App Name] net.xxx.xxx 已从 Google Play 下架。在您通过 Play 管理中心向我们提供更多信息之前,用户将无法使用此应用。

问题:违反权限政策

您只能请求实现应用中当前可用的关键功能或服务所必需的权限。您不得将授予用户或设备数据访问权限的权限用于未公开、未实现或不允许的功能或目的。短信和通话记录权限受到额外限制;要使用这些权限,您必须首先获得 Google Play 的批准。

标签: androidgoogle-play

解决方案


想要拨打电话?不要使用 CALL_PHONE 权限,而是使用拨号器意图。

设置 phoneNumber 并使用 ACTION_DIAL。

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + phoneNumber));
context.startActivity(intent);

https://proandroiddev.com/no-more-sms-call-log-permissions-now-what-9b8226de7827

在 API 级别 1 中添加的 ACTION_CALL public static final String ACTION_CALL 活动操作:对数据指定的人执行调用。

输入:如果没有,则启动一个空拨号器;否则 getData() 是要拨打的电话号码的 URI 或 tel: 明确电话号码的 URI。

输出:没有。

注意:哪些应用可以发起呼叫会有限制;大多数应用程序应该使用 ACTION_DIAL。

注意:此 Intent 不能用于拨打紧急号码。但是,应用程序可以使用 ACTION_DIAL 拨打紧急号码。

注意:如果您的应用程序以 M 及以上为目标并声明为使用未授予的 Manifest.permission.CALL_PHONE 权限,则尝试使用此操作将导致 SecurityException。

常量值:“android.intent.action.CALL”

https://developer.android.com/reference/android/content/Intent


推荐阅读