如何确定我应该在运行时询问哪些权限以及哪个权限足够'在清单中声明了什么?
答案 0 :(得分:1)
系统权限分为两类,普通和危险:
正常权限不会直接影响用户的隐私。如果您的应用在其清单中列出了正常权限,系统会自动授予权限。
危险权限可让应用访问用户的机密数据。如果您的应用在其清单中列出了正常权限,系统会自动授予权限。如果您列出了危险权限,则用户必须明确批准您的应用。
有关详细信息,请参阅normal permissions和dangerous permissions上的文档。
答案 1 :(得分:0)
危险权限应该在运行时询问,在清单中是否正常。您可以看到here的危险和普通权限列表。
来自docs:
系统权限分为几个保护级别。他们俩 最重要的保护水平是正常的和 危险权限:
正常权限涵盖了您的应用需要访问数据的区域 应用程序沙箱外的资源,但是很少 对用户隐私或其他应用程序操作的风险。对于 例如,设置时区的权限是正常权限。如果 app声明它需要一个正常的权限,即系统 自动授予应用程序的权限。有关的完整列表 当前的正常权限,请参阅正常权限。
危险 权限涵盖应用程序需要数据或资源的区域 涉及用户的私人信息,或可能影响 用户存储的数据或其他应用程序的操作。例如, 读取用户联系人的能力是一种危险的许可。如果 一个应用程序声明它需要一个危险的权限,用户必须这样做 明确授予应用程序的权限。特殊权限 是一些不正常行为的权限 危险的权限。 SYSTEM_ALERT_WINDOW和WRITE_SETTINGS是 特别敏感,所以大多数应用程序不应该使用它们。如果一个应用程序 需要其中一个权限,它必须在中声明权限 显示,并发送请求用户授权的意图。该 系统通过显示详细的管理屏幕来响应意图 给用户。
有关如何请求这些权限的详细信息,请参阅 SYSTEM_ALERT_WINDOW和WRITE_SETTINGS参考条目。
答案 2 :(得分:0)
答案 3 :(得分:0)
您应该始终将您要访问的每个权限都放在Manifest中。 Android Marshmallow之前的设备无法处理运行时权限,因此除非您仅定位Marshmallow及更高版本,否则此部分非常重要。
您无需在运行时询问任何“Normal Permissions”。只有指定为“危险”的权限才会自动提供。