编程语言
首页 > 编程语言> > android动态权限适配:基于RxJava2后的RxPermissions的快速使用

android动态权限适配:基于RxJava2后的RxPermissions的快速使用

作者:互联网

rxPermissions.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)

.subscribe(new Consumer() {

@Override

public void accept(Boolean aBoolean) throws Exception {

if (aBoolean) {

//表示用户同意权限

Toast.makeText(SingeActivity.this,

“用户同意使用权限”, Toast.LENGTH_SHORT).show();

} else {

//表示用户不同意权限

Toast.makeText(SingeActivity.this,

“用户拒绝使用权限”, Toast.LENGTH_SHORT).show();

}

}

});

}

private void requestRxPermissions() {

rxPermissions = new RxPermissions(this);

rxPermissions.request(Manifest.permission.ACCESS_FINE_LOCATION,

Manifest.permission.READ_PHONE_STATE,

Manifest.permission.READ_CALL_LOG)

.subscribe(new Consumer() {

@Override

public void accept(Boolean aBoolean) throws Exception {

if (aBoolean) {

//当所有权限都允许,才会到这里

Toast.makeText(SomeActivity.this,

“用户同意所有权限”, Toast.LENGTH_SHORT).show();

} else {

// //只要有一个权限没同意,就到这里

//下一次申请只申请没同意的权限

Toast.makeText(SomeActivity.this,

“用户拒绝了部分权限”, Toast.LENGTH_SHORT).show();

}

}

});

}

private void requestRxPermissions() {

rxPermissions = new RxPermissions(this);

rxPermissions.requestEach(Manifest.permission.RECORD_AUDIO,

Manifest.permission.CAMERA,

Manifest.permission.GET_ACCOUNTS,

Manifest.permission.READ_CONTACTS,

Manifest.permission.READ_CALENDAR,

Manifest.permission.SEND_SMS,

Manifest.permission.READ_SMS,

Manifest.permissio

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

n.CALL_PHONE)

.subscribe(new Consumer() {

@Override

public void accept(Permission permission) throws Exception {

if (permission.name.equals(Manifest.permission.CAMERA)) {

//使用permission.name可以获得指定权限获得后的操作

Toast.makeText(OneByOneActivity.this,

“照相机权限授权了”, Toast.LENGTH_SHORT).show();

}

/**

*/

if (permission.granted) {

//用户已经同意该权限

Toast.makeText(OneByOneActivity.this,

“用户已经同意该权限”, Toast.LENGTH_SHORT).show();

} else if (permission.shouldShowRequestPermissionRationale) {

// 用户拒绝了该权限,没有选中『不再询问』(Never ask again),

// 那么下次再次启动时,还会提示请求权限的对话框

Toast.makeText(OneByOneActivity.this,

“用户拒绝了该权限,没选中『不再询问』”, Toast.LENGTH_SHORT).show();

} else {

// 用户拒绝了该权限,并且选中『不再询问』

标签:Toast,Manifest,permission,适配,show,RxJava2,LENGTH,RxPermissions,权限
来源: https://blog.csdn.net/m0_65145426/article/details/122083220