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卡读写的权 ...
最新文章
- Leetode算法刷题宝典.pdf
- 完美解决小程序一维数组循环渲染列表不够用问题
- [javaSE] java获取文件列表
- bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量、bochs的System BIOS must end at 0xfffff错误、运行内核0.00版本
- 通过ddmlib杀死某个android进程的方法
- Linux服务器rsync自动备份
- oracle32位11g中文乱码,win7 64位系统 Oracle32bit + PL/SQL访问Orale服务,Oracle 11g的安装,中文乱码问题的解决...
- 299. 猜数字游戏
- Javascript 基础笔记
- 嵌入式Linux入门3:Linux服务器搭建
- 学计算机是为了什么演讲稿,求大学计算机协会职位申请书和演讲稿
- 使用 luajit的ffi 调用libcurl
- oracle分区键使用教程,Oracle表分区学习笔记
- 【OCR技术】字符识别技术总览
- 033-生产机器扩容
- c语言横坐标加一怎么表示,C语言 打印一个用字符表示的菱形或正(倒)三角形...
- SQL Server导出导入数据方法
- Laravel User Agent 轻松识别客户端(微信)信息(2019版)
- 腾讯推出移动端动画组件PAG,释放设计生产力!
- iOS13beta2版描述文件,修复了,修复了,修复了,可以用描述文件更新了
热门文章
- android平板交互,安卓平板就应该如此,华为MatePad Pro 交互体验
- 均衡教派服务器维护,LOL十大最坑大区盘点 LOL最坑服务器 均衡教派坐实榜首
- VISIO2010界面介绍
- pytorch 变对角矩阵_Pytorch-Tensor基本操作
- python定时器库_Python定时器完整示例 python定时器用法举例
- 看了就会的VScode给C++的配置编译环境(Visual Studio Code)
- C语言非常重要的细节(知道一点更新一点)
- Bash数组变量的赋值
- 使用FgSegNet进行前景图像分割
- 为何去银行存款的人越来越少,但是银行的存款却在增加?