前面写了Android6.0权限介绍和权限单个,多个申请,用的是纯Java代码,本文主要说的是借助第三方库来实现权限申请。

借助第三方库 RxPermissions来申请6.0权限。

RxPermissions库地址:https://github.com/tbruyelle/RxPermissions

bulid.gradle引入:

  compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar'compile "io.reactivex.rxjava2:rxjava:2.0.0"

权限相关知识,权限表请看博客: Android6.0------权限管理          Android6.0------权限申请管理(单个权限和多个权限申请)

前提:APP运行在Android 6.0 (API level 23)或者更高级别的设备中,而且targetSdkVersion>=23时,系统将会自动采用动态权限管理策略,

先来看看效果图:(注:如果未授权就点击打电话或拍照就会直接闪退,由此6.0必须手动授权,开发时如果未授权,可以判断并提示用户从新授权

上图:

1:单个授权,电话授权。

2:有电话,SD卡,拍照授权三个一起授权

单个授权

 //检查版本是否大于Mif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//单个权限
rxPermissions.request(Manifest.permission.CAMERA).subscribe(new Observer<Boolean>() {@Overridepublic void onSubscribe(Disposable d) {}@Overridepublic void onNext(Boolean value) {if(value){showToast("同意权限");}else {showToast("拒绝权限");}}@Overridepublic void onError(Throwable e) {}@Overridepublic void onComplete() {}});}

多个授权

        rxPermissions.requestEach(Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CALL_PHONE).subscribe(new Observer<Permission>() {@Overridepublic void onSubscribe(Disposable d) {}@Overridepublic void onNext(Permission permission) {if (permission.name.equals(Manifest.permission.CAMERA)){showToast("申请成功");}}@Overridepublic void onError(Throwable e) {}@Overridepublic void onComplete() {}});

前提一定要注意:AndroidManifest中:

  <uses-permission android:name="android.permission.CALL_PHONE"/>  //电话 <uses-permission android:name="android.permission.CAMERA"/>  //拍照 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  //sd卡

此案例是借助第三方RxPermissions来写的了,可以去看看这个库的代码。

案例源码下载

转载于:https://www.cnblogs.com/zhangqie/p/7574174.html

Android6.0------权限申请RxPermissions相关推荐

  1. android6.0权限适配RxPermissions

    1.直接获取权限(使用Retrolambda使代码更加简洁,当然并不是必须使用): // 必须在初始化阶段调用,例如onCreate()方法中 RxPermissions.getInstance(th ...

  2. Android6 0权限机制(一):介绍

    本篇文章已授权微信公众号 hongyangAndroid (鸿洋)独家发布 Android6.0权限机制(一):介绍 Android6.0权限机制(二):封装 Android6.0权限机制(三):6. ...

  3. Android6.0权限适配及兼容库的实现

    从6.0 MarshMallow开始,Android支持动态权限管理,即有些权限需要在使用到的时候动态申请,根据用户的选择需要有不同的处理,具体表现可以看下图: 本文并不关心权限适配的原理,原理可以参 ...

  4. android 6.0 短信权限,Android6.0权限适配

    Code4Android .jpg 前言 现在谈论Android权限适配可能有点没必要,因为网上关于权限适配的文章很多,搜一下Android6.0权限适配关键词能搜到一堆文章,而且很多写的还很不错.不 ...

  5. android 6.0 数据库权限,Android超清晰6.0权限申请AndPermission

    Android超清晰6.0权限申请AndPermission的具体实现代码,供大家参考,具体内容如下 前言 这是我经常使用的框架,原因: 1.思路清晰 2.实现方便 开始 准备工作 导包 compil ...

  6. Android 6.0 权限申请辅助 ----PermissionsHelper

    Android 6.0 权限申请辅助 ----PermissionsHelper 项目地址:https://github.com/didikee/PermissionsHelper Android 的 ...

  7. android拍照所需的权限,eclipse --- Android拍照,相册选择图片以及Android6.0权限管理...

    [实例简介] eclipse --- Android拍照,相册选择图片以及Android6.0权限管理 [实例截图] [核心代码] camreainandroidm └── camreainandro ...

  8. Android6.0权限大全和权限分类

    自从出了Android6.0权限管理之后,再也不能像以前那样粘贴复制了,必须认识权限了,所以总结一下方便以后自己使用. 一.所有权限 访问登记属性 android.permission.ACCESS_ ...

  9. Android6.0动态申请SD卡读写的权限

    有些设备不能在本地写文件的解决方法如下 : Android6.0之后系统对权限的管理更加严格了,不但要在AndroidManifest中添加,还要在应用运行的时候动态申请.下面是动态申请SD卡读写的权 ...

最新文章

  1. 百度黄埔学院计划第四期来了!
  2. (转载)IIS安装配置全过程
  3. 引流虚拟主机和服务器,建站使用云服务器和虚拟主机 哪个更好?
  4. Windows7休眠状态下载技巧攻略
  5. ES6之函数的扩展(二)
  6. 天天有毒_鸡汤文案类小程序源码
  7. uos系统虚拟机_体验中兴深度联合推出的「UOS」统一操作系统
  8. css根据屏幕大小切换样式
  9. 微信公众帐号开发教程第11篇-符号表情的发送(上)
  10. Java 8 你需要掌握的新特性
  11. 笔记本电脑上html怎样运行,手提电脑如何进入BIOS|笔记本电脑进入BIOS按哪个键...
  12. Connections could not be acquired from the unde...
  13. 外部中断----高低电平触发,(边沿触发)上升沿触发和下降沿触发区别
  14. 【SQL学习笔记】之数据定义语言(DDL)
  15. JavaScript前台判空
  16. 动手实验 CVE-2010-2883 Adobe Reader TTF字体SING表栈溢出漏洞
  17. 中美线径对照表 AWG和载流说明
  18. 场效应管组成的简单放大电路
  19. 疯狂java 第十章输入输出 读书笔记
  20. HTML商品收银台会员结算系统,使用会员管理系统收银结算功能解决哪些问题?

热门文章

  1. linuxoracle静默安装应答文件修改_Oracle 19c的examples静默安装
  2. java 事务的提出者_java中什么是事务
  3. php中的getdate+函数,PHP中的getdate()函数
  4. linux 安装jeakens_Chapter 2. OpenSSL的安装和配置学习笔记
  5. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](1)
  6. java中检测数据波动_在pyspark数据帧中检测异常值
  7. 【算法竞赛学习】二手车交易价格预测-Task3特征工程
  8. html在线音频播放器实训总结,HTML5音乐列表播放器SMusic开发总结
  9. java 数据库转储_从源控制数据库驱动的应用程序所需的转储开始?
  10. 简单谈谈5G/C-V2X技术与自动驾驶的关系