选择扬中网站建设,wordpress背景特效,莱芜市城乡建设局网站,可以做数据图的的网站有哪些1、一提到权限很多Android开发者都会想到 比如拨打电话 读取手机通讯录 定位 这些都是需要申请权限#xff0c;Google Android 6.0之后#xff08;sdk 23#xff09; 需要app动态申请权限 或者权限组
2、我这里打个比方 比如需要在fm应用 默认打开mic权限
3、我们需要知道…1、一提到权限很多Android开发者都会想到 比如拨打电话 读取手机通讯录 定位 这些都是需要申请权限Google Android 6.0之后sdk 23 需要app动态申请权限 或者权限组
2、我这里打个比方 比如需要在fm应用 默认打开mic权限
3、我们需要知道这个默认应用程序的包名 例如 xxx.com等) 4、在PMS成功启动时并收到回掉systemReady回进行应用权限授予。如下代码所示 Overridepublic void systemReady() {// If we upgraded grant all default permissions before kicking off.for (int userId : grantPermissionsUserIds) {mDefaultPermissionPolicy.grantDefaultPermissions(userId);}}5、根据默认应用包名packageName进行筛选 包括后面GMS认证一些应用默认关闭一些权限 方法都是类似 依葫芦画瓢哈 对应修改路径/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java public void grantDefaultPermissions(int userId) {DelayingPackageManagerCache pm new DelayingPackageManagerCache();grantPermissionsToSysComponentsAndPrivApps(pm, userId);grantDefaultSystemHandlerPermissions(pm, userId);grantSignatureAppsNotificationPermissions(pm, userId);grantDefaultPermissionExceptions(pm, userId);//add by zm 2023/3/6PackageInfo pkg pm.getPackageInfo(xxx.com.fmradio);if ((pkg ! null) doesPackageSupportRuntimePermissions(pkg)) {setFMPackagePermissions(pm,pkg,userId);}//add end// Apply delayed statepm.apply();}6、下面就是默认授权权限代码 如下所示 默认打开麦克风权限
public void setFMPackagePermissions(PackageManagerWrapper pm,PackageInfo pkg,int userId){Log.e(TAG, zm add setFMPackagePermissions is start);grantRuntimePermissions(pm,pkg, MICROPHONE_PERMISSIONS, true, true, true, userId);Log.e(TAG, zm add setFMPackagePermissions is end);}
7、高级一点的写法 根据list集合去过滤 后面还有其他的应用要打开一个 和多个或者关闭一个和多个权限 代码如下 SafeVarargsprivate final void grantPermissionsToSystemPackage(PackageManagerWrapper pm, String packageName,int userId, boolean systemFixed, SetString... permissionGroups) {if (!pm.isSystemPackage(packageName)) {return;}grantPermissionsToPackage(pm, pm.getSystemPackageInfo(packageName),userId, systemFixed, false /* ignoreSystemPackage */,true /*whitelistRestrictedPermissions*/, permissionGroups);}8、使用示例 如下所示 电话权限、短信权限 、通知栏消息权限 grantPermissionsToSystemPackage(pm, verifier, userId, PHONE_PERMISSIONS, SMS_PERMISSIONS,NOTIFICATION_PERMISSIONS);9、然后编译代码 验证ok 到这里默认添加应用权限功能结束了。此文章只是抛砖引玉具体其他平台根据项目实际需求进行修改如有雷同纯属巧合哈 转载请注明出处谢谢 高通Android 12/13 默认应用程序授予权限_KdanMin的博客-CSDN博客
有一起想学framework可以加我wx kdanmobile) 火热进行中
其他学习链接
Android 中的权限 | Android 开发者 | Android Developers