关于安卓权限的问题

4

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

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

非常感谢您的帮助!

2个回答

1
Faraz是正确的,但我有一些补充。我正在探索Android源代码并发现了一些信息。
  1. 您只能添加、更新或删除TYPE_DYNAMIC权限。

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

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

编辑:TYPE_DYNAMIC权限示例 如何在Android中使用自定义权限?


这些信息的来源是什么?我认为它不正确。我正在打印权限值,Internet 权限似乎也是 TYPE_BUILTIN。 - Alice Van Der Land

0

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

此链接 解释了这些权限在系统代码中定义的位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接