Android 给 app默认权限(不弹窗申请权限)
16lz
2021-01-23
1.系统app
系统app的权限默认开启,大家应该都知道是修改DefaultPermissionGrantPolicy.java。
frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java
在grantDefaultSystemHandlerPermissions中可以看到
// CameraIntent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);PackageParser.Package cameraPackage = getDefaultSystemHandlerActivityPackageLPr( cameraIntent, userId);if (cameraPackage != null && doesPackageSupportRuntimePermissions(cameraPackage)) { grantRuntimePermissionsLPw(cameraPackage, CAMERA_PERMISSIONS, userId); grantRuntimePermissionsLPw(cameraPackage, MICROPHONE_PERMISSIONS, userId); grantRuntimePermissionsLPw(cameraPackage, STORAGE_PERMISSIONS, userId);}
从上面这段代码就可以看到Camera中默认打开了CAMERA_PERMISSIONS, MICROPHONE_PERMISSIONS, STORAGE_PERMISSIONS这三个Dangerous Permission。
2.第三方app
手动安装的第三方app的权限默认开启是修改PackageManagerService.java。
frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
在grantPermissionsLpw函数中添加如下代码
//Permissions for com.xxx.xxx if(pkg.packageName.contains("com.xxx.xxx")) { final int permsSize = pkg.requestedPermissions.size(); for (int i=0; i
参考:
https://blog.csdn.net/u011280717/article/details/51819708
https://blog.csdn.net/fmc088/article/details/83063198
更多相关文章
- 设置系统的语言
- 修改android系统和watchdog的延时
- Android开发者实用代码片段 与大家分享
- Android如何获得系统版本
- android 系统中静音后使得音量减键不能解除静音
- 【Android】使用LiveData KTX Builder让代码更简洁
- 一个简单的iPhone项目及代码
- android 当系统存在多个Launcher时,如何设置开机自动进入默认的La
- android studio调试c++代码