Android中当我们需要的权限被禁用时,需要引导用户去开启该权限(一般是跳转到权限设置页面),这样可以达到优化用户体验的效果。

我们知道Android 6.0之后对于部分敏感权限,如电话、短信、SD和相机等需要进行动态申请并得到用户的同意后获得。那么当用户没有开启某个权限A时,我们需要引导用户去开启权限A,由于Android机型众多导致权限设置的入口无法统一,这时我们只能退而求其次,跳转到具体应用的设置页面,然后让用户自己寻找权限设置选项,进入并打开相应的权限。实现代码如下:

Intent intent = new Intent("android.settings.APPLICATION_DETAILS_SETTINGS");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.fromParts("package", context.getPackageName(), null));
if (intent.resolveActivity(context.getPackageManager()) != null) {context.startActivity(intent);
}

截图如下:

Android中悬浮窗权限SYSTEM_ALERT_WINDOW也属于一种敏感权限,在6.0之上需要我们动态申请该权限。但是该权限的设置却并不在上面提到的权限设置页面,它有一个独立的设置入口。代码如下:

Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (intent.resolveActivity(context.getPackageManager()) != null) {context.startActivityForResult(intent, OVERLAY_PERMISSION_REQUEST_CODE);
}@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == OVERLAY_PERMISSION_REQUEST_CODE) {if (Settings.canDrawOverlays(context)) {showFloatingView();} else {ToastUtil.showShort(context, "获取悬浮窗权限失败");}}
}

截图如下:

Android权限设置引导相关推荐

  1. android权限设置在哪找,Android权限申请与打开权限设置页面

    前言 应用的使用需要申请权限,但是如果用户禁用掉,或者禁用并不再提醒就必须到系统设置中开启. // 权限 implementation 'com.yanzhenjie:permission:2.0.3 ...

  2. Android权限设置大全

    android权限大全 <uses-permission Android:name="android.permission.ACCESS_WIFI_STATE"/> 访 ...

  3. Android 权限设置大全

    android权限大全 <uses-permission Android:name="android.permission.ACCESS_WIFI_STATE"/> 访 ...

  4. Android 权限被拒绝,跳转至权限设置界面

    参考博客:Android跳转权限设置页面 本文基于上面博客进行封装,直接上代码: import android.content.ComponentName; import android.conten ...

  5. Android调app权限设置界面(适配各大手机厂商终极版本)

    背景: 众所周知,国内的android是在google之上,各大手机厂商加了一层,诸如MIUI.EUI,之类的系统.因此在我们开发过程中想调出某应用的权限设置页面,调出的是google原生的权限控制界 ...

  6. 解决OPPO Reno Ace(Android 10)、华为P20、P30进入自启权限设置页面问题,通过AccessibilityService获取栈顶Activity和相应的包名以及类名

    我的问题        在借鉴了网上各路大佬的成果后,发现在Android 10以上大家对自启权限和白名单权限的资料甚少.以至于不能直接通过Copy来解决问题,在华为P20.P30和OPPO Reno ...

  7. android 权限管理适配 oppo,Android调app权限设置界面(适配各大手机厂商终极版本)...

    背景: 众所周知,国内的android是在google之上,各大手机厂商加了一层,诸如MIUI.EUI,之类的系统.因此在我们开发过程中想调出某应用的权限设置页面,调出的是google原生的权限控制界 ...

  8. 【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 权限申请原理对话框操作回调接口 | 永久拒绝权限后引导设用户置权限 )

    文章目录 一.权限申请原理对话框操作回调接口 RationaleCallbacks 二.永久拒绝权限后引导设用户置权限 一.权限申请原理对话框操作回调接口 RationaleCallbacks 权限申 ...

  9. android app没有读写权限设置,Android 6.0以上权限拒绝打开权限设置界面的解决方法...

    本人使用小米手机,打开qq或者微信的时候,某个权限拒绝的话,会提示你开启,点击开启会跳转到app的权限设置界面,当然了,这是国内系统深层定制的原因,也就是说这个界面原声的android没有的!这里以小 ...

  10. android webview权限申请_Android应用开发之android 6.0下webview的定位权限设置方法

    本文将带你了解Android应用开发android 6.0下webview的定位权限设置方法,希望本文对大家学Android有所帮助. 如下所示: WebView webView =   (WebVi ...

最新文章

  1. /dev/rdsk 与 /dev/dsk区别
  2. 请教一个算法问题,有两个数组A,B,判断A中是否至少有一个元素和B中元素相同...
  3. 发现了星星机这种打印工具,还挺不错...
  4. iOS-NSThread编程详解
  5. linux比较两个文件md5,linux下如何批量比对两个文件的MD5值是否一致,SHA1是否一致。...
  6. 初识Mysql(part19)--我需要知道的3条Mysql语句之组合查询
  7. lua打开浏览器并加载网页_Lua访问网页
  8. Qt文档阅读笔记-QThreadPool的解释及使用
  9. KDevelop的使用(包括交叉编译)[原创]
  10. Scala中的Apply方法与伴生对象
  11. 中望cad文字显示问号怎么办_CAD字体显示问号解决方法
  12. hilbert方程组matlab,数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序
  13. html背景色不透明度,css怎么设置颜色不透明度?
  14. 故障恢复控制台主要命令
  15. Qt编写的项目作品30-录音播放控件(雨田哥作品)
  16. python判断阶乘和数_python如何计算数的阶乘
  17. 使用ZED Mini 相机运行ORB-SLAM2
  18. 使用随机森林填补缺失值
  19. C语言中的与、或、非
  20. 七个合法学习黑客技术的网站,让你从萌新成为大佬

热门文章

  1. 苹果无法安装计算机,苹果电脑安装win7报错误,代码状态0xc0000428,信息:windows无法验证此文件的数字签名,applessd.sys...
  2. IAR 软件激活步骤
  3. linux 忘记了密码,Linux忘记密码的解救方法
  4. 大数据之Zookeeper
  5. webstorm使用指南
  6. 60、在Visual Studio 2019 环境下,使用C#调用C++生成的dll实现yolov5的图片检测
  7. python rbf神经网络_RBF神经网络是什么?
  8. 音乐播放小窗口html,jQuery+html5迷你网页音乐播放器代码
  9. STM32F407 硬件IIC驱动MCP4017 数字电位器
  10. 数学建模之数据比较与影响因素分析