1.客户需求。
将第三方的应用放到系统预装,即放到 System/app 下面,打开该应用时不会弹出授予权限窗口。
2. 问题解决方法。
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)) {
grantRuntimePermissions
默认开启系统内置app应用的权限
最新推荐文章于 2022-09-26 16:42:38 发布