我正在使用Android Marshmallow READ_PHONE_STATE权限,我想更改权限请求中显示的文字。
默认显示:
允许[应用名称]拨打和管理电话?
但是我用它来获取device id
和sim serial number
,所以我认为最好更改请求消息。有谁知道怎么做(一些特殊的功能或什么)?
或者我只需为此实现一个独立的Dialog
?
非常感谢。
答案 0 :(得分:6)
不,您无法更改对话框中的文字。它默认在系统中实现。在您提出许可之前,您可以提供有关许可的简要说明。这样用户就可以准确地知道你将要用它做什么。
中的更多详细信息请求权限
如果您的应用需要应用中列出的危险权限 显示,它必须要求用户授予权限。 Android的 提供了几种可用于请求权限的方法。调用 这些方法会带来一个标准的Android对话框,你不能这样做 定制
解释应用需要权限的原因
在某些情况下,您可能希望帮助用户了解原因 您的应用需要权限。例如,如果用户启动了 摄影应用程序,用户可能会对该应用程序感到惊讶 请求允许使用相机,但用户可能不会 了解应用程序为何需要访问用户的位置或 联系人。在您申请许可之前,您应该考虑 向用户提供解释。请记住,你不想要 用解释来压倒用户;如果你提供太多 解释,用户可能会发现应用程序令人沮丧并将其删除。
您可能使用的一种方法是仅在提供解释时提供解释 用户已经拒绝了该权限请求。如果用户保持 尝试使用需要权限的功能,但保留 拒绝权限请求,这可能表明用户 不明白为什么应用程序需要获得提供权限的权限 功能。在这样的情况下,它可能是一个好主意 显示解释。
为了帮助找到用户可能需要解释的情况, Android提供了一种实用方法, shouldShowRequestPermissionRationale()。如果,此方法返回true 该应用先前已请求此权限,并且用户已拒绝 请求。