2016-11-29 175 views
4

我正在查看与Android权限相关的课程,我有几个问题。关于Android权限的问题权限

BasePermission类,我看到三个字段定义:TYPE_NORMAL,TYPE_BUILTIN和TYPE_DYNAMIC。这些代表什么?我猜TYPE_DYNAMIC是为了当应用程序动态地使用addPermission()API方法来创建权限时,但我对其他两个方面并不确定。 Android是否跟踪如何创建权限(即由系统,系统应用程序或第三方应用程序定义)?看来PermissionInfo类跟踪了一些标志,但是我找不到任何直接与权限创建方式相对应的标志。

非常感谢!

回答

1

法拉兹是对的,但我有一些补充。我正在探索android源代码,并且发现了一些信息。

  1. 只能添加,更新或删除TYPE_DYNAMIC权限。

  2. TYPE_DYNAMIC权限由应用程序开发人员定义。

  3. TYPE_BUILTIN权限只能由系统应用程序来获取。

编辑:TYPE_DYNAMIC许可例如How to use custom permissions in Android?

+0

这些信息的来源是什么?我不认为这是正确的。我打印的权限值和Internet权限似乎也是TYPE_BUILTIN。 –

0

看来,TYPE_BUILTIN是Linux内核的权限,TYPE_DYNAMIC为任何动态创建的权限(通过使用addPermission *()API方法)和TYPE_NORMAL适用于任何其他静态创建的权限(系统和第三方)。

This link解释其中在系统代码这些权限定义。