页面动态加载android,Android APP启动页面动态加载全部权限

一、写在前面

6.0以上动态加载权限加载的是,需要用户手动赋予的权限( Dangerous Permissions),只有这些,其他权限不用加载

所属权限组 权限

日历 READ_CALENDAR

日历 WRITE_CALENDAR

相机 CAMERA

联系人 READ_CONTACTS

联系人 WRITE_CONTACTS

联系人 GET_ACCOUNTS

位置 ACCESS_FINE_LOCATION

位置 ACCESS_COARSE_LOCATION

麦克风 RECORD_AUDIO

电话 READ_PHONE_STATE

电话 CALL_PHONE

电话 READ_CALL_LOG

电话 WRITE_CALL_LOG

电话 ADD_VOICEMAIL

电话 USE_SIP

电话 PROCESS_OUTGOING_CALLS

传感器 BODY_SENSORS

短信 SEND_SMS

短信 RECEIVE_SMS

短信 READ_SMS

短信 RECEIVE_WAP_PUSH

短信 RECEIVE_MMS

存储 READ_EXTERNAL_STORAGE

存储 WRITE_EXTERNAL_STORAGE

二、使用的框架RxPermissions2

build.gradle文件中

在dependencies {}中添加依赖

compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

compile 'io.reactivex.rxjava2:rxjava:2.0.1'

compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'

三、关键代码

1 /**

2 * 权限列表3 */

4 String[] permissions = newString[]{5 Manifest.permission.CAMERA,6 Manifest.permission.READ_PHONE_STATE,7 Manifest.permission.WRITE_EXTERNAL_STORAGE,8 Manifest.permission.READ_EXTERNAL_STORAGE9 };10

11 /**

12 * 请求权限13 */

14 private voidrequestPermissions() {15 RxPermissions rxPermission = new RxPermissions(this);16 rxPermission17 .request(permissions)//多个权限用","隔开

18 .subscribe(granted ->{19 if(granted) {20 //获得了所有权限

21 textView.setAnimation(animationSet);22 } else{23 //至少有一个权限没有获得

24 Toast.makeText(SplashActivity.this,"请给应用赋予全部权限,否则无法使用",Toast.LENGTH_SHORT).show();25 finish();26 }27 });28

29 }

四、该框架升级比较快,网上很多写这个框架的博文都并不实用,还是要注意其github网站说明文档

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值