Android各大手机系统打开权限管理页面
来源:互联网 发布:vc图形界面编程 编辑:程序博客网 时间:2024/04/29 07:12
相信做过Android的都知道,现在的手机系统五花八门,当我们去请求用户的权限的时候,总是会弹出是否允许的对话框。
而且用户一旦不小心点了拒绝,下次就不再询问了,而很多小白用户也不知道怎么去设置。这就导致了很不好的用户体验。
经过研究,我发现像小米,魅族,这些满大街的系统,都是可以通过隐式意图打开权限设置页面的。
这里指的是自身app的权限管理页面
之前已经有人写过类似的文章,不过都比较分散,我这里把这些方法总结了一下。
不多说,直接上代码。
首先是最蛋疼的小米,百度了很多前辈留下的方法,发现都不能打开,没有办法,只能通过 adb dumpsys activity activities 命令去查看
经过一番研究终于打开了。
/** * 跳转到miui的权限管理页面 */ private void gotoMiuiPermission() { Intent i = new Intent("miui.intent.action.APP_PERM_EDITOR"); ComponentName componentName = new ComponentName("com.miui.securitycenter", "com.miui.permcenter.permissions.AppPermissionsEditorActivity"); i.setComponent(componentName); i.putExtra("extra_pkgname", getPackageName()); try { startActivity(i); } catch (Exception e) { e.printStackTrace(); gotoMeizuPermission(); } }
接下来上魅族的代码
/** * 跳转到魅族的权限管理系统 */ private void gotoMeizuPermission() { Intent intent = new Intent("com.meizu.safe.security.SHOW_APPSEC"); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.putExtra("packageName", BuildConfig.APPLICATION_ID); try { startActivity(intent); } catch (Exception e) { e.printStackTrace(); gotoHuaweiPermission(); } }
华为的系统由于不太一样,有些系统是华为自己的权限管理,而6.0的是用的原生的权限管理页面,目前手上只有一台6.0的华为手机,
暂时没有研究到打开的方法,如果有知道的大神麻烦告知一下
不过打不开没关系,我们可以退而求其次,打开所用应用的权限管理页面
/** * 华为的权限管理页面 */ private void gotoHuaweiPermission() { try { Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ComponentName comp = new ComponentName("com.huawei.systemmanager", "com.huawei.permissionmanager.ui.MainActivity");//华为权限管理 intent.setComponent(comp); startActivity(intent); } catch (Exception e) { e.printStackTrace(); startActivity(getAppDetailSettingIntent()); } }
目前也就研究了这三大系统,对于原生系统,和其他系统,如果找不到方法,也可以先把用户引导到系统设置页面
/** * 打开应用详情页面intent */ private Intent gotoAppDetailSettingIntent() { Intent localIntent = new Intent(); localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (Build.VERSION.SDK_INT >= 9) { localIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS"); localIntent.setData(Uri.fromParts("package", getPackageName(), null)); } else if (Build.VERSION.SDK_INT <= 8) { localIntent.setAction(Intent.ACTION_VIEW); localIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails"); localIntent.putExtra("com.android.settings.ApplicationPkgName", getPackageName()); } startActivity(localIntent); }
2 0
- android各大手机系统打开权限管理页面
- android各大手机系统打开权限管理页面
- Android各大手机系统打开权限管理页面
- android各大手机系统打开权限管理页面
- android各大手机系统打开权限管理页面
- Android各大手机品牌手机跳转到权限管理界面
- Android各大手机品牌手机跳转到权限管理界面
- Android各大手机品牌手机跳转到权限管理界面
- Android各大手机品牌手机跳转到权限管理界面
- Android 各大手机品牌手机跳转到权限管理界面
- Android各大手机品牌手机跳转到权限管理界面
- 小米手机上,打开自启动管理,打开本app应用权限管理页面
- Android 手机系统权限
- android开发 系统信息相关工具类 权限管理页面
- Android打开系统相册页面
- Android 打开应用权限设置页面
- Android 应用程序没有权限时跳到应用的权限管理页面,让用户手动打开需要的权限
- Android 从应用程序跳到系统应用管理和应用的权限管理页面
- 读书笔记 《第一行代码》 第13章
- #午安,努力#11.30
- 蓝鲸开发平台(django框架)的搭建
- git(版本控制系统)的使用
- LeetCode173—Binary Search Tree Iterator
- Android各大手机系统打开权限管理页面
- 设计模式之观察者模式
- 几点建议,让Redis在你的系统中发挥更大作用
- 键盘钩子函数注入dll
- RAC+DG重建备库时备库的online redolog没创建
- NLP 学习教程 第一节 简介
- GoogLenet
- 我该怎么办?
- 通过alter session 切换容器