之前的permission申请都是用的原生封装,现在接触下第三方的权限请求框架.
使用姿势:
1.Gradle引入

allprojects {    repositories {        ...        maven { url 'https://jitpack.io' }    }}dependencies {    implementation 'com.github.tbruyelle:rxpermissions:0.10.2'}

2.在AndroidManifest中声明权限:

                                    

3.在activity(fragment)的oncreate方法中使用,申请权限,注意的是申请的权限需要在androidmanifest中有对应的声明:

 RxPermissions rxPermissions = new RxPermissions(this);        Disposable subscribe = rxPermissions                .requestEachCombined(Manifest.permission.CAMERA,                        Manifest.permission.WRITE_EXTERNAL_STORAGE,                        Manifest.permission.ACCESS_FINE_LOCATION)                .subscribe(permission -> {                    if (permission.granted) {                        // All requested permissions are granted                        showToast("权限获取成功");                        Log.d("lwp","success permission:"+permission.name);                        // AppSp appSp = new AppSp(this, "", 1);                        String string = SPUtils.getInstance().getString(Constant.TOKEN);                        //testApkUpdate();                        try {                            if (isStringEmpty(string)) {                                Observable.timer(1000, TimeUnit.MILLISECONDS).subscribe(new Consumer() {                                    @Override                                    public void accept(Long aLong) throws Exception {                                        toLogin();                                    }                                });                            } else {                                Observable.timer(1000, TimeUnit.MILLISECONDS).subscribe(new Consumer() {                                    @Override                                    public void accept(Long aLong) throws Exception {                                        toMain();                                    }                                });                            }                        } catch (Exception e) {                            e.printStackTrace();                        }                    } else if (permission.shouldShowRequestPermissionRationale){                    // At least one denied permission without ask never again                                     } else {            // At least one denied permission with ask never again            // Need to go to the settings                              }                });

更多相关文章

  1. android 9.0 给内置APK默认全部权限
  2. android应用安全――组件通信安全(Intent)
  3. Android音频开发之AudioRecord录音实现
  4. Android百度定位API使用方法
  5. Android短信验证码(用的Mob短信验证)
  6. Android改变状态栏颜色真麻烦
  7. android广播指定权限
  8. Android中对SD卡的读取与写入
  9. Android(安卓)请求Root权限代码

随机推荐

  1. Android TimeUtile日期处理工具类(干货)
  2. android VoiceRecognition 语音识别并打
  3. How to Install Ubuntu on Android!
  4. android仿qq分组列表效果
  5. android包重复问题
  6. android根据应用方向自动旋转的自定义vie
  7. Android录音及播放功能实现
  8. Android 文件操作工具类
  9. Unity3d 调用Android震动
  10. Android通过Mainfest设置Theme实现布局全