Android权限管理原理
生活随笔
收集整理的這篇文章主要介紹了
Android权限管理原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pp在使用定位服務的時候,一般是通過LocationManager的requestLocationUpdates獲取定位,其實是通過Binder請求LocationManagerService去定位。
定位服務LocationManagerService會向AppOpsService查詢是否授予了App定位權限,如果需要授權,就彈出一個系統對話框讓用戶操作,并根據用戶的操作將結果持久化在文件中,如果在Setting里設置了響應的權限,也會去更新相應的權限操作持久化文件/data/system/appops.xml,下次再次申請服務的時候,服務會再次鑒定權限
Android6.0的runtime-permission機制讓用戶在任何時候都可以取消授權,因此,每次在申請系統服務的時候,都要動態查詢是否獲取了相應的權限,如果沒有獲取,就需要動態去申請,首先先看一下權限的查詢:
Android6.0權限查詢
support-v4兼容包里面提供了一個工具類PermissionChecker,可以用來檢查權限獲取情況
最終還是調用PackageManager去更新App的運行時權限,最終走進PackageManagerService服務,
在目錄data/system/0/runtime-permissions.xml存放需要運行時申請的權限,Android6.0以上才有
總結
以上是生活随笔為你收集整理的Android权限管理原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四级网络工程师试题一
- 下一篇: 架构之美