• 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 = new String[]{
     5         Manifest.permission.CAMERA,
     6         Manifest.permission.READ_PHONE_STATE,
     7         Manifest.permission.WRITE_EXTERNAL_STORAGE,
     8         Manifest.permission.READ_EXTERNAL_STORAGE
     9 };
    10 
    11 /**
    12  * 请求权限
    13  */
    14 private void requestPermissions() {
    15     RxPermissions rxPermission = new RxPermissions(this);
    16     rxPermission
    17             .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

  • 相关阅读:
    【算法微解读】浅谈01分数规划
    【算法微解读】浅谈线段树
    近期目标
    【洛谷P5008 逛庭院】tarjan缩点+贪心
    【洛谷P1061 Jam的计数法】搜索
    【洛谷P1140 相似基因】动态规划
    【建兰普及模拟赛四】20181026
    【建兰普及模拟赛第三场】20181035
    【洛谷P2800又上锁妖塔】动态规划
    【建兰普及模拟赛第二场】20181024
  • 原文地址:https://www.cnblogs.com/jsben/p/8424498.html
Copyright © 2020-2023  润新知