packageinstaller之權限獲取及展現

1、源碼分析:

Packageinstaller主要是有界面的安裝和卸載,先看看源碼大概:
這裏寫圖片描述

AndroidManifest.xml裏面的組件:
這裏寫圖片描述

先看看PackageInstallerActivity.java文件,在安裝的時候,會啓動這個Activity,下面是OnCreate函數的代碼片段:
這裏寫圖片描述

前面是解析了一大堆APK的信息,後面最主要的調用了initiateInstall函數,下面看看initiateInstall的源代碼:
這裏寫圖片描述

前面只檢測下是否安裝過,緊接着調用startInstallConfirm函數,看下面代碼:
這裏寫圖片描述
這裏寫圖片描述

看關鍵代碼行00236,進入AppSecurityPermissions構造函數:
這裏寫圖片描述

看關鍵代碼函數行00294,提取權限信息permSet,這裏有不看源碼,接着看setPermissions函數:
這裏寫圖片描述

進入行00625:
這裏寫圖片描述

下面是調試打印信息:
這裏寫圖片描述

資源定義在:
這裏寫圖片描述

把信息提取了,下面一步就是顯示了,回到第4頁的getPermissionsView函數:
這裏寫圖片描述

看函數名就知道什麼作用了:displayPermissions
這裏寫圖片描述

關鍵行00503,最終調用了函數:
這裏寫圖片描述

把要展示的信息設置好,並且對於每一項設置了OnClick,以便查看loadDescription權限的具體描述:
這裏寫圖片描述

2、調試Log:

這裏寫圖片描述

3、效果圖:

這裏寫圖片描述

4、流程圖:

這裏寫圖片描述

5、第三方:

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章