繁体   English   中英

我应该在运行时询问哪些权限,而在 Android 中我不必询问运行时?

[英]Which permissions should I ask at runtime and which I don't have to ask runtime in Android?

我如何确定应该在运行时询问哪些权限以及哪个权限“足以”在清单中声明?

文档

系统权限分为两类,正常危险

  • 普通权限不会直接危及用户的隐私。 如果您的应用在其清单中列出了普通权限,系统会自动授予该权限。

  • 危险权限可以让应用程序访问用户的机密数据。 如果您的应用在其清单中列出了普通权限,系统会自动授予该权限。 如果您列出了危险权限,则用户必须明确批准您的应用。

有关更多详细信息,请参阅有关正常权限危险权限的文档。

危险权限应该在运行时询问,在清单中足够正常。 您可以在此处查看危险和正常权限的列表。

文档

系统权限分为几个保护级别。 要了解的两个最重要的保护级别是正常权限和危险权限:

普通权限涵盖您的应用程序需要访问应用程序沙箱之外的数据或资源的区域,但对用户隐私或其他应用程序的操作风险很小的区域。 比如设置时区的权限就是普通权限。 如果应用程序声明需要普通权限,系统会自动授予该应用程序权限。 有关当前普通权限的完整列表,请参阅普通权限。

危险权限涵盖应用程序想要的数据或资源涉及用户隐私信息的区域,或可能影响用户存储的数据或其他应用程序的操作的区域。 例如,读取用户联系人的能力是一种危险的权限。 如果应用程序声明它需要危险权限,则用户必须明确授予应用程序权限。 特殊权限 有一些权限与正常权限和危险权限不同。 SYSTEM_ALERT_WINDOW 和 WRITE_SETTINGS 特别敏感,因此大多数应用程序不应使用它们。 如果应用程序需要这些权限之一,它必须在清单中声明该权限,并发送请求用户授权的意图。 系统通过向用户显示详细的管理屏幕来响应意图。

有关如何请求这些权限的详细信息,请参阅 SYSTEM_ALERT_WINDOW 和 WRITE_SETTINGS 参考条目。

如果您的目标是 Android Marshmallow 及更高版本,则必须在运行时请求危险权限。 您可以在此处找到该列表。 您还应该阅读此内容

您应该始终将您想要访问的所有权限放在清单中。 Android Marshmallow 之前的设备无法处理运行时权限,因此除非您仅针对 Marshmallow 及更高版本,否则这部分很重要。

您不需要在运行时询问任何“ 正常权限”。 只有指定为“危险”的权限不会自动授予。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM