Android系統給第三方應用許可權開啟
阿新 • • 發佈:2018-12-06
Android系統給第三方應用許可權開啟(不會彈授予許可權視窗)
frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 類是對預設許可權管理類
可以檢視grantDefaultSystemHandlerPermissions 該方法,裡面有就有授予許可權類似方法,可以模仿
我們可以通過此類來對我們系統中存在的應用進行預設許可權設定。
下面舉個例子,修改系統中應用儲存空間許可權:
private void grantDefaultSystemHandlerPermissions(int userId) { ... grantStoragePermissionsToCustomApp(userId);// add ... } private void grantStoragePermissionsToCustomApp(int userId){ final String []itemString = mService.mContext.getResources() .getStringArray(com.android.internal.R.array.storage_permission_custom_packagename); for (int i = 0; i < itemString.length; i++) { PackageParser.Package customPackage = getPackageLPr(itemString[i]); if ((customPackage != null) && doesPackageSupportRuntimePermissions(customPackage)) { grantRuntimePermissionsLPw(customPackage, STORAGE_PERMISSIONS, userId); } } }
frameworks/base/core/res/res/values/ .xml檔案 需要預設開啟的應用包名列表
<string-array name="storage_permission_custom_packagename" translatable="false">
<item>com.**.**</item>
</string-array>