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 + " 拒绝了该权限.");                            }                        }                );    }}