只是简单如何使用的demo
public class RxPromisstionActivity extends AppCompatActivity {
private Button mBtnReadSD;
private RxPermissions mRxPermission;
/**
* RxPromisstion : 适配android6.0
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rx_promisstion);
mBtnReadSD = (Button) findViewById(R.id.btnReadSD);
mRxPermission = new RxPermissions(this);
//2.
RxView.clicks(mBtnReadSD)
.compose(mRxPermission.ensure(Manifest.permission.WRITE_EXTERNAL_STORAGE))
.compose(mRxPermission.ensure(Manifest.permission.WRITE_EXTERNAL_STORAGE))
.subscribe(granted -> {
if (granted) {
// 用户已经同意该权限
Log.e("liuqiang", " 同意.");
} else {
// 用户拒绝了该权限,并且选中『不再询问』
Log.e("liuqiang", " 拒绝了该权限.");
}
});
}
//1.
private void requestPermissions() {
mRxPermission.requestEach(Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_CALENDAR,
Manifest.permission.READ_CALL_LOG,
Manifest.permission.READ_CONTACTS,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.READ_SMS,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.CAMERA,
Manifest.permission.CALL_PHONE,
Manifest.permission.SEND_SMS)
.subscribe(permission -> {
if (permission.granted) {
// 用户已经同意该权限
Log.e("liuqiang", permission.name + " 同意.");
} else if (permission.shouldShowRequestPermissionRationale) {
// 用户拒绝了该权限,没有选中『不再询问』(Never ask again),那么下次再次启动时,还会提示请求权限的对话框
Log.e("liuqiang", permission.name + " 拒绝了该权限,次再次启动时,还会提示请求权限的对话框");
} else {
// 用户拒绝了该权限,并且选中『不再询问』
Log.e("liuqiang", permission.name + " 拒绝了该权限.");
}
}
);
}
//3.
private void test3() {
Observable.just(1,2,3)
.compose(mRxPermission.ensureEach(Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE))
.subscribe(permission -> {
if (permission.granted) {
// 用户已经同意该权限
Log.e("liuqiang", permission.name + " 同意.");
} else if (permission.shouldShowRequestPermissionRationale) {
// 用户拒绝了该权限,没有选中『不再询问』(Never ask again),那么下次再次启动时,还会提示请求权限的对话框
Log.e("liuqiang", permission.name + " 拒绝了该权限,次再次启动时,还会提示请求权限的对话框");
} else {
// 用户拒绝了该权限,并且选中『不再询问』
Log.e("liuqiang", permission.name + " 拒绝了该权限.");
}
}
);
}
}