2016-11-29 223 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解釋其中在系統代碼這些權限定義。