android动态权限适配:基于RxJava2后的RxPermissions的快速使用
2021/12/22 14:22:11
本文主要是介绍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();
}
/**
-
这里需要注意,当我们使用requestEach后,上面对应的权限,
-
下面都会执行一遍
-
例如,你上面8个权限都同意后,然后到达这里,
-
在走8次的permission.granted的判断语句
-
因此,使用时再加上permission.name判断一下更为合理
*/
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 {
// 用户拒绝了该权限,并且选中『不再询问』
这篇关于android动态权限适配:基于RxJava2后的RxPermissions的快速使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-10SpringBoot 内部方法调用,事务不起作用的原因及解决办法
- 2024-11-10独立开发者 5 个月,月收入赶超北京工资,我的一点心得
- 2024-11-09程序员 SEO 系列:如何找到更多搜索关键词?
- 2024-11-09为何选择Spring AI Alibaba开发智能客服平台?
- 2024-11-09Sentinel不同的流控效果资料详解
- 2024-11-09Sentinel配置限流资料:新手入门教程
- 2024-11-09Sentinel配置限流资料详解
- 2024-11-09Sentinel熔断规则配置资料详解
- 2024-11-08Sentinel熔断规则配置资料详解
- 2024-11-08Sentinel限流资料入门教程