Android调用miui给权限,Android跳转至MIUI权限设置页面
需要提示MIUI用户开启某些权限,因此需要跳转其权限编辑页面
网上基本只有比较古老的MIUI5/6的跳转方式:
Intent localIntent = new Intent("miui.intent.action.APP_PERM_EDITOR");
localIntent.setClassName("com.miui.securitycenter", "com.miui.permcenter.permissions.AppPermissionsEditorActivity");
localIntent.putExtra("extra_pkgname", context.getPackageName());
context.startActivity(localIntent);
这种方式已经不能满足如今的新版MIUI 8,所以,自己动手丰衣足食
电脑打开cmd/terminal, 手机打开应用权限设置页面:
命令行输入:
adb shell dumpsys activity | grep "mFocusedActivity"
输入结果:
mFocusedActivity: ActivityRecord{11ae2ef u0 com.miui.securitycenter/com.miui.permcenter.permissions.PermissionsEditorActivity t192}
即为当前打开的权限设置页的Activity
观察到Activity包名与MIUI 5/6的相同,Activity名字不同,将跳转代码改为:
// MIUI 8
Intent localIntent = new Intent("miui.intent.action.APP_PERM_EDITOR");
localIntent.setClassName("com.miui.securitycenter", "com.miui.permcenter.permissions.PermissionsEditorActivity");
localIntent.putExtra("extra_pkgname", context.getPackageName());
context.startActivity(localIntent);
成功跳转。
完整的工具类如下:
public class MiuiUtils {
/**
* 跳转到MIUI应用权限设置页面
*
* @param context context
*/
public static void jumpToPermissionsEditorActivity(Context context) {
if (isMIUI()) {
try {
// MIUI 8
Intent localIntent = new Intent("miui.intent.action.APP_PERM_EDITOR");
localIntent.setClassName("com.miui.securitycenter", "com.miui.permcenter.permissions.PermissionsEditorActivity");
localIntent.putExtra("extra_pkgname", context.getPackageName());
context.startActivity(localIntent);
} catch (Exception e) {
try {
// MIUI 5/6/7
Intent localIntent = new Intent("miui.intent.action.APP_PERM_EDITOR");
localIntent.setClassName("com.miui.securitycenter", "com.miui.permcenter.permissions.AppPermissionsEditorActivity");
localIntent.putExtra("extra_pkgname", context.getPackageName());
context.startActivity(localIntent);
} catch (Exception e1) {
// 否则跳转到应用详情
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", context.getPackageName(), null);
intent.setData(uri);
context.startActivity(intent);
}
}
}
}
/**
* 判断是否是MIUI
*/
private static boolean isMIUI() {
String device = Build.MANUFACTURER;
if (device.equals("Xiaomi")) {
try {
Properties prop = new Properties();
prop.load(new FileInputStream(new File(Environment.getRootDirectory(), "build.prop")));
return prop.getProperty("ro.miui.ui.version.code", null) != null
|| prop.getProperty("ro.miui.ui.version.name", null) != null
|| prop.getProperty("ro.miui.internal.storage", null) != null;
} catch (IOException e) {
e.printStackTrace();
}
}
return false;
}
}
Android调用miui给权限,Android跳转至MIUI权限设置页面相关推荐
- android 调用百度地图规划,Android 调用百度地图API
一.到 百度地图开发平台下载SDK 1.点击自定义下载 2.下载自己想要的功能包我这里选了三个 3.获取密钥 获取密钥之前我们要新建一个应用 填写好相关的信息 二. 新建一个项目工程 1. 把下载好的 ...
- android 调用图片裁剪功能,Android图片裁剪,合成(调用系统裁剪功能)
做照片相框 步骤就是跟美图秀秀一样,先截图,然后添加相框 在之前Bitmap.createBitmap那个文里,说过使用jpg图片会挡住底层图片,用画这种方法合成图片,没有问题. public cla ...
- Android中FlowLayout的使用方法,监控布局大小并设置页面高度
博客来源: 工作中需要动态的为页面插入提示语,并根据提示语的不同进行换行操作.提示语数量不同,长度不同,那么就需要页面具有流动性 话不多说,上代码 这是一个工具类,复制进行小修改即可[下方有我调用参考 ...
- android调用js函数方法,Android和JavaScript相互调用的方法
本文实例讲述了Android和JavaScript相互调用的方法.分享给大家供大家参考,具体如下: Html页面和Java代码结合的方式一般用在界面经常被更改 的情况下,可以讲html放在网络中,软件 ...
- android调用webservice传参数,android调用webservice接口获取信息
我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数. 1.在lib中放入ksoap2的jar包 ...
- android调用文件管理器回调,Android中调用系统管理器选择文件并返回绝对路径
选择文件的时候,如果使用的是第三方软件,一般是直接返回绝对路径的Uri,如果是系统的,则会返回媒体库的xxxx,所以单纯一种方式选择文件,很可能拿到的绝对路径是错的或者是空的,所以需要做几种处理,这里 ...
- android调用java接口_java/Android 接口调用的几种写法
虽然Handler用的地方比较普遍,但是接口也有他的独特之处,比较直观,然后降低了耦合性 如有一接口,需要将数据传给使用的activity中,接口如下 public interfacePushValu ...
- android调用另一个app,Android调用另一个App界面
最近年底了,项目比较忙,虽然用笔把要总结的技巧来技术写下了,但是一直没有时间来更新.今天要说的是在App中调用其他APP界面的总结,我们经常需要给别的程序调用自己程序的UI界面,这时可以有三种方式来提 ...
- android调用资源文件配置,Android资源文件
应用资源是指应用中与源代码分离的资源,如图像.音频文件以及任何与应用的视觉呈现有关的内容.在Android项目中的每一项资源,SDK构建工具都会定义一个唯一的整形ID,可以通过ID对资源进行应用.提供 ...
- Android调用uc播放器,android 视频播放 -- 调用系统播放器
android 视频播放,视频来源有两种:一种是本地视频,一种是网络视频,对android播放来说都统一用uri来表示. 播放视频有三种处理方式: (1) 使用webview 播放 (2) 使用vid ...
最新文章
- beatsx三闪红灯是什么意思_周迅感情亮红灯?真离了!?亮红灯英文是red light ?red 对了,但不用 light!...
- SpringBoot之旅第一篇-初探
- RHEL6.3 DNS高级技术二 通过DNS主从区域复制实现DNS View负载均衡和冗余备份
- python renames_Python os.renames() 方法
- Central Authentication Service
- mfc如何将一个数组中的字节数据用串口发送出去_RS232串口多机通信
- UVA10236 斐波那契素数
- php 上传大文件400,PHP fastcgi模式上传大文件(大约有300多K)报错
- Last_Errno: 1755 Last_Error: Cannot execute the current event group in the parallel mode错误解决
- 度量网络延迟和吞吐量
- Ubuntu、CentOS、redHat的区别与联系
- Linux和windows网络配置
- {$POINTERMATH ON} 方便指针操作的编译指令
- (2018-2019)linux常用操作命令总结
- 冰点文库下载器V3.2.4
- 怎么禁用计算机上的自动播放,手把手教你如何关闭自动播放
- 张家界航空工业职业学院计算机,张家界航空工业职业技术学院2021年招生代码...
- 开源项目——小Q聊天机器人V1.0
- cookie中__jsl_clearance参数的破解。
- 鸿蒙入门手册(二):应用是怎样运行的
热门文章
- android截屏与截长图截屏功能的实现
- linux合并ts文件吗,Linux 下使用 ffmpeg 大批量合并 ts 文件, mp4切割文件为m3u8
- 分享一款思维导图工具-幕布(附在线工具合集、Android进阶知识体系)
- 博图多版本共存安装教程 博图V14V15V16V17下载地址
- 09-网格划分质量查看
- 强大web打印控件下载 - 2019年最新支持所有浏览器-楚琳打印
- oracle中文转全拼音,(转)oracle下,把中文转为拼音函数编写
- 南航计算机学院的实验室,南航计算机科学与技术学院导师介绍:魏欧
- win10打开.heic文件
- Lauterbach trace32与 jlink