很多内置到系统的apk,在第一次使用时会弹出权限的窗口。而系统的一些apk默认就有权限,说明系统在初始化的时候就给了这些apk权限。在framework层找到了相关的代码,都在DefaultPermissionGrantPolicy.java中,主要是grantDefaultSystemHandlerPermissions这个函数
private void grantDefaultSystemHandlerPermissions(int userId)
把自己的apk加进去
if (android.os.SystemProperties.getBoolean("ro.android.vediodemo", false)) {
//这里获取包名
PackageParser.Package mPackage = getSystemPackageLPr("com.test.vedio");
if (null != mPackage) {
grantRuntimePermissionsLPw(mPackage, STORAGE_PERMISSIONS, userId);
}
}
注意要恢复出厂设置或者重新刷机才会生效