RxPromisstion2.0的简单使用
来源:互联网 发布:喜迎油价上涨知乎 编辑:程序博客网 时间:2024/06/06 10:08
只是简单如何使用的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 + " 拒绝了该权限."); } } ); }}
阅读全文
0 0
- RxPromisstion2.0的简单使用
- AFNetWorking3.0的简单使用
- AFNetWorking3.0的简单使用
- EventBus3.0的简单使用
- retrofit2.0的简单使用
- Eventbus3.0的简单使用
- Retrofit2.0的简单使用
- EventBus3.0的简单使用
- EventBus3.0的简单使用
- ThinkPhp5.0的简单使用
- Retrofit2.0的简单使用
- XUtils3.0的简单使用
- RxLifecycle2.0的简单使用
- okhttp3.0的简单使用
- Retrofit2.0的简单使用
- Yii2.0 场景的简单使用
- 【Flask】(LV.0) Flask的简单使用
- flash as3.0的简单使用
- [初学笔记] matlab中的while loop中使用break语句的新理解和运用: 计算和赋值放到循环里头
- Win10+Ubuntu16.04双系统重装win10后ubuntu引导失败UEFI启动方式下GRUB消失
- Java中集合删除元素时候关于ConcurrentModificationException的迷惑点
- Redis 命令精要--string
- 关于页面websocket
- RxPromisstion2.0的简单使用
- Illegal access:this web application instance has been stopped already
- java集合笔记(1):java集合类图
- Qt笔记_17
- Object类
- webpack全配置
- Spring Mvc @ResponseBody返回json乱码
- 送机器学习电子书——(TensorFlow)RNN入门
- kettle抽取mongodb数据库遇到的问题