Anroid6.0以上的权限请求 RxPermissions

第一步:
在build.gradle中导入
compile 'com.tbruyelle.rxpermissions:rxpermissions:0.9.0@aar'
compile 'io.reactivex:rxjava:1.1.3'

第二步:
 RxPermissions rxPermissions = new RxPermissions(activity);
    rxPermissions.request(Manifest.permission.WRITE_EXTERNAL_STORAGE
            , Manifest.permission.READ_EXTERNAL_STORAGE)
            .subscribe(new Action1<Boolean>() {
                @Override
                public void call(Boolean aBoolean) {
                    if (aBoolean) {
                        downloadApp();
                    } else {
                        ToastHelper.showMeassge(activity.getString(R.string.tip_permission_write), 3);
                    }
                }
            });
}

aBoolen==true 表示该权限已经有了
                         否则提示用户去设置中打开该应用的这个权限

第三步:
如果此时运行应用出现65536问题
     1.则要在build.gradle中添加
     compile 'com.android.support:multidex:1.0.0'


     2.把项目中的Application继承MutilDexApplication
     3.重写Application中的attchBaseContext
          
@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

猜你喜欢

转载自blog.csdn.net/u014434239/article/details/75568791