Android - 更改READ_PHONE_STATE权限请求消息

时间:2016-05-17 10:04:54

标签: android android-6.0-marshmallow android-permissions runtime-permissions

我正在使用Android Marshmallow READ_PHONE_STATE权限,我想更改权限请求中显示的文字。

默认显示:

  

允许[应用名称]拨打和管理电话?

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

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

非常感谢。

1 个答案:

答案 0 :(得分:6)

不,您无法更改对话框中的文字。它默认在系统中实现。在您提出许可之前,您可以提供有关许可的简要说明。这样用户就可以准确地知道你将要用它做什么。

  

请求权限

     

如果您的应用需要应用中列出的危险权限   显示,它必须要求用户授予权限。 Android的   提供了几种可用于请求权限的方法。调用   这些方法会带来一个标准的Android对话框,你不能这样做   定制

     

解释应用需要权限的原因

     

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

     

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

     

为了帮助找到用户可能需要解释的情况,   Android提供了一种实用方法,   shouldShowRequestPermissionRationale()。如果,此方法返回true   该应用先前已请求此权限,并且用户已拒绝   请求。

documentation

中的更多详细信息