Android6.0------权限申请RxPermissions
前面写了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相关推荐
- android6.0权限适配RxPermissions
1.直接获取权限(使用Retrolambda使代码更加简洁,当然并不是必须使用): // 必须在初始化阶段调用,例如onCreate()方法中 RxPermissions.getInstance(th ...
- Android6 0权限机制(一):介绍
本篇文章已授权微信公众号 hongyangAndroid (鸿洋)独家发布 Android6.0权限机制(一):介绍 Android6.0权限机制(二):封装 Android6.0权限机制(三):6. ...
- Android6.0权限适配及兼容库的实现
从6.0 MarshMallow开始,Android支持动态权限管理,即有些权限需要在使用到的时候动态申请,根据用户的选择需要有不同的处理,具体表现可以看下图: 本文并不关心权限适配的原理,原理可以参 ...
- android 6.0 短信权限,Android6.0权限适配
Code4Android .jpg 前言 现在谈论Android权限适配可能有点没必要,因为网上关于权限适配的文章很多,搜一下Android6.0权限适配关键词能搜到一堆文章,而且很多写的还很不错.不 ...
- android 6.0 数据库权限,Android超清晰6.0权限申请AndPermission
Android超清晰6.0权限申请AndPermission的具体实现代码,供大家参考,具体内容如下 前言 这是我经常使用的框架,原因: 1.思路清晰 2.实现方便 开始 准备工作 导包 compil ...
- Android 6.0 权限申请辅助 ----PermissionsHelper
Android 6.0 权限申请辅助 ----PermissionsHelper 项目地址:https://github.com/didikee/PermissionsHelper Android 的 ...
- android拍照所需的权限,eclipse --- Android拍照,相册选择图片以及Android6.0权限管理...
[实例简介] eclipse --- Android拍照,相册选择图片以及Android6.0权限管理 [实例截图] [核心代码] camreainandroidm └── camreainandro ...
- Android6.0权限大全和权限分类
自从出了Android6.0权限管理之后,再也不能像以前那样粘贴复制了,必须认识权限了,所以总结一下方便以后自己使用. 一.所有权限 访问登记属性 android.permission.ACCESS_ ...
- Android6.0动态申请SD卡读写的权限
有些设备不能在本地写文件的解决方法如下 : Android6.0之后系统对权限的管理更加严格了,不但要在AndroidManifest中添加,还要在应用运行的时候动态申请.下面是动态申请SD卡读写的权 ...
最新文章
- 百度黄埔学院计划第四期来了!
- (转载)IIS安装配置全过程
- 引流虚拟主机和服务器,建站使用云服务器和虚拟主机 哪个更好?
- Windows7休眠状态下载技巧攻略
- ES6之函数的扩展(二)
- 天天有毒_鸡汤文案类小程序源码
- uos系统虚拟机_体验中兴深度联合推出的「UOS」统一操作系统
- css根据屏幕大小切换样式
- 微信公众帐号开发教程第11篇-符号表情的发送(上)
- Java 8 你需要掌握的新特性
- 笔记本电脑上html怎样运行,手提电脑如何进入BIOS|笔记本电脑进入BIOS按哪个键...
- Connections could not be acquired from the unde...
- 外部中断----高低电平触发,(边沿触发)上升沿触发和下降沿触发区别
- 【SQL学习笔记】之数据定义语言(DDL)
- JavaScript前台判空
- 动手实验 CVE-2010-2883 Adobe Reader TTF字体SING表栈溢出漏洞
- 中美线径对照表 AWG和载流说明
- 场效应管组成的简单放大电路
- 疯狂java 第十章输入输出 读书笔记
- HTML商品收银台会员结算系统,使用会员管理系统收银结算功能解决哪些问题?
热门文章
- linuxoracle静默安装应答文件修改_Oracle 19c的examples静默安装
- java 事务的提出者_java中什么是事务
- php中的getdate+函数,PHP中的getdate()函数
- linux 安装jeakens_Chapter 2. OpenSSL的安装和配置学习笔记
- 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](1)
- java中检测数据波动_在pyspark数据帧中检测异常值
- 【算法竞赛学习】二手车交易价格预测-Task3特征工程
- html在线音频播放器实训总结,HTML5音乐列表播放器SMusic开发总结
- java 数据库转储_从源控制数据库驱动的应用程序所需的转储开始?
- 简单谈谈5G/C-V2X技术与自动驾驶的关系