今天我收到了谷歌团队的这封邮件,我的应用发布状态:拒绝。
无法在运行时权限之前触发默认处理程序提示 *如果您的应用是默认处理程序,则默认处理程序提示必须在运行时权限提示之前。
根据我们的审查,您的应用似乎没有在运行时权限提示之前正确触发默认处理程序提示。请在任何运行时权限提示之前添加默认处理程序提示。*
请帮助解决这个问题,我也使用了默认处理程序提示,但不知道为什么谷歌给我发了这封邮件。
今天我收到了谷歌团队的这封邮件,我的应用发布状态:拒绝。
无法在运行时权限之前触发默认处理程序提示 *如果您的应用是默认处理程序,则默认处理程序提示必须在运行时权限提示之前。
根据我们的审查,您的应用似乎没有在运行时权限提示之前正确触发默认处理程序提示。请在任何运行时权限提示之前添加默认处理程序提示。*
请帮助解决这个问题,我也使用了默认处理程序提示,但不知道为什么谷歌给我发了这封邮件。
您需要显式提示默认处理程序,而不是简单地在清单中声明权限。
RoleManager roleManager = (RoleManager)
activity.getSystemService(Context.ROLE_SERVICE);
Intent intent = roleManager.createRequestRoleIntent(RoleManager.ROLE_DIALER);
activity.startActivityForResult(intent, requestCode);
更改默认处理程序:
Intent setDefaultSmsIntent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
setDefaultSmsIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, getPackageName());
startActivityForResult(setDefaultSmsIntent, requestCode);
来自 Google 的 Android 文档,这是关于Play Store policy的。
鉴于应用在作为默认处理程序时访问的敏感用户信息,您的应用不能成为默认处理程序,除非它满足以下 Play 商店列表和核心功能要求:
您的应用程序必须能够执行它作为默认处理程序的功能。例如,默认的 SMS 处理程序应该能够发送文本消息。
您的应用必须提供隐私政策。
您的应用必须在 Play 商店说明中明确说明其核心功能。
例如,默认的电话处理程序应在描述中描述其与电话相关的功能。
您的应用必须声明适合其用例的权限。如需详细了解您可以将哪些权限声明为给定处理程序,请参阅 Play 管理中心帮助中心中有关使用 SMS 或通话记录权限组的指南。
您的应用必须先请求成为默认处理程序,然后才能请求与成为该处理程序相关的权限。例如,应用必须先请求成为默认 SMS 处理程序,然后才能请求 READ_SMS 权限。