Android 6.0 - 危险权限和特殊权限有什么区别?

Android 6.0 - What is the difference between dangerous and special permissions?

正如 google 中的 guide 所述,有 正常危险 和特殊权限。

据我了解,默认情况下禁用是危险的(这是真的吗?)。

If an app declares that it needs a dangerous permission, the user has to explicitly grant the permission to the app.

这是否还会感染更新或仅感染新安装?

dangerous permission 和 dangerous permission 之间到底有什么区别 特殊权限?

Android 表示特殊权限:

Special Permissions There are a couple of permissions that don't behave like normal and dangerous permissions. SYSTEM_ALERT_WINDOW and WRITE_SETTINGS are particularly sensitive, so most apps should not use them. If an app needs one of these permissions, it must declare the permission in the manifest, and send an intent requesting the user's authorization. The system responds to the intent by showing a detailed management screen to the user.

这和上面的引述不一样吗?我不明白其中的区别。 谢谢!

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

  1. 普通权限不会直接危及用户隐私。如果你的 应用程序在其清单中列出了一个正常的权限,系统授予 自动许可。

  2. 危险权限可以让应用访问用户的 机密数据。如果您的应用在其 manifest,系统自动授予权限。如果你 列出危险权限,用户必须明确给予 批准您的应用。

问题:据我所知,默认情况下禁用是危险的(这是真的吗?)。 Ans : 是的 危险权限 默认情况下将被禁用。

问题:这是否还会感染更新或仅感染新安装? 答:有两种情况

案例 1:应用定位 & 运行 API 级别 23

如果您的应用的目标是 API 级别 23,那么 Android Manifest 中定义的所有权限现在都会在需要时请求权限。

例如,当您安装应用程序时,系统不会在您安装相机时向您授予访问相机的权限,而是会在该应用程序首次要访问您的相机时提示您。

案例 2:为旧版本设计的应用程序

较旧的 Android 应用程序会在您安装它们时自动获得这些权限,但您可以从“设置”>>“应用程序”>>“应用程序”>>“应用程序信息”>>“权限”中撤销您想要的任何权限。

http://developer.android.com/training/permissions/requesting.html

危险

基本上 Google 决定将某些权限标记为危险 (see full list here)。如果你想使用它们,需要主动请求这些权限,所以你不能只是将它们放在清单中并期望一切正常,它不会。但是,如果用户授予一次访问权限,您可以在应用程序的剩余生命周期中使用该权限(除非用户进入并在设置中单击它)。

该请求将在您的应用顶部打开一个对话框,用户可以在其中决定您是否被授予权限。

特别

特殊的就像危险的,只是更难使用。为了使用特殊功能,您必须启动请求权限的意图,以便用户转到 Google 定义的 activity 来管理所有内容。

这是针对 Android 6.0 及更高版本的应用程序的工作方式。