为什么我无法在Android 6上自定义权限请求对话框?

时间:2015-10-22 05:06:34

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

最近,我在新的Android Marshmallow上遇到了很多关于权限请求对话框的问题。他们听起来像:

如何自定义Android权限对话框?

如何向Android权限对话框提供自定义文字?

为什么我无法自定义Android权限对话框?

所以这是所有这些问题的完整答案。

1 个答案:

答案 0 :(得分:4)

以下是其他类似问题:

Android M - custom permission dialog style

How can i customize permission dialog in android?

Provide custom text for Android M permission dialog

首先,您无法为Android权限对话框进行任何自定义,因为它是system dialog

  

当您的应用调用requestPermissions()时,系统会向用户显示标准对话框。 您的应用无法配置或更改该对话框。如果您需要向用户提供任何信息或说明,则应在调用requestPermissions()之前执行此操作,如“解释应用程序需要权限的原因”中所述。

但很多人都会问同一个问题 - 为什么?

答案很简单,因为你可以欺骗用户。我举一个例子。

  1. 如果您想提供自己的对话以获得许可,显然您可以向用户提供有关您所需内容的错误或误导性信息。
  2. 如果您只想为该对话框提供自己的文本,则可以执行与上一项相同的操作。但你可以问为什么我不能与系统一起提供额外的信息?再次,因为你可以欺骗用户。您可以提供非常长的文本和基本信息块,可以超出屏幕,或者您可以通过自己的自定义视图找到父容器并隐藏它。
  3. 如果要通过系统xml样式设置此对话框的样式,可以在白色背景上创建白色文本e。 G。并再次欺骗用户。
  4. 只有那些变种才能立即浮现在脑海中。很明显,任何干扰都可以用来伤害。