4

我正在使用Android Marshmallow READ_PHONE_STATE权限,并且想要更改权限请求上显示的文本。Android - 更改READ_PHONE_STATE权限请求消息

默认显示:

允许[应用程序名称]进行和管理电话?

但我用它来获得device idsim serial number,所以我认为是更好的改变请求消息。有谁知道如何做到这一点(一些特殊的功能或什么)?

或者我只需要实现一个独立的Dialog

非常感谢。

回答

6

不,您不能更改对话框中的文本。它在系统中默认实现。您可以在请求之前提供有关权限的简要说明。这样用户就会确切地知道你将要使用它。

请求权限

如果您的应用程序需要的是在应用 清单中列出一个危险的权限,它必须向用户授予权限。 Android 提供了几种可用于请求许可的方法。调用 这些方法会调出一个标准的Android对话框,您无法自定义 。

解释为什么应用程序需要的权限

在某些情况下,你可能想帮助用户理解为什么 您的应用程序需要的权限。例如,如果用户启动了一个 摄影应用程序,用户可能不会感到惊讶的是应用程序 要求许可使用摄像头,但用户可能不知道为什么该应用程序想要访问用户的位置或 联系人。在您申请许可之前,您应该考虑 向用户提供解释。请记住,你不希望 用解释压倒用户;如果您提供的解释太多,用户可能会发现该应用令人沮丧并将其删除。您可以使用

一种方法是为只在 用户已经拒绝了该许可请求的解释。如果用户保持 尝试使用需要许可但保留 拒绝许可请求的功能,这可能表示用户 不明白为什么应用程序需要提供该功能的权限。在这样的情况下, 显示一个解释可能是一个好主意。

为了帮助查找用户可能需要说明的情况, Android提供了一个实用方法, shouldShowRequestPermissionRationale()。如果此应用程序先前已请求此许可,并且用户拒绝 请求,则此方法返回true。

documentation

+0

更多细节我认为我couldn't。感谢您的链接。 –