Android系統對應用程序權限申請的處理方式分析java
對Android源代碼中的以下文件進行分析:android
(1) InstallAppProgress.java:其路徑爲\packages\apps\PackageInstaller\src\com\android\packageinstaller\InstallAppProgress.java;app
(2) PackageInstallerActivity.java:其路徑爲\packages\apps\PackageInstaller\src\com\android\packageinstaller\PackageInstallerActivity.java;函數
(3) AppSecurityPermissions.java:其路徑爲\frameworks\base\core\java\android\widget\AppSecurityPermissions.javaspa
總結得出以下圖所示的Android系統對應用程序受權申請的處理流程:orm
(1) 進入處理應用程序受權申請的入口函數;xml
(2) 系統從被安裝應用程序的AndroidManifest.xml文件中獲取該應用正常運行需申請的權限列表;get
(3) 顯示對話框,請求用戶確認是否知足這些權限需求;it
(4) 若贊成,則應用程序正常安裝,並被賦予相應的權限;若否認,則應用程序不被安裝。系統僅提供給用戶選擇「是」或者「否」的權利,沒有選擇其中某些權限進行受權的權利。io