源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android 中RxPermissions 的使用方法详解

  • 时间:2022-08-03 05:19 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android 中RxPermissions 的使用方法详解
[b]Android 中RxPermissions 的使用方法详解[/b] 以请求拍照、读取位置权限为例 [b]module的build.gradle:[/b]
  compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar' 
  compile 'io.reactivex.rxjava2:rxjava:2.0.5'
[b]AndroidManifest.xml:[/b]
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  <uses-permission android:name="android.permission.CAMERA"/>
[b]源码:[/b]
 Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
          RxPermissions rxPermissions = new RxPermissions((Activity) mContext);
          rxPermissions.request(Manifest.permission.ACCESS_FINE_LOCATION,
                  Manifest.permission.CAMERA)
                  .subscribe(new Observer<Boolean>() {
                @Override
                public void onSubscribe(Disposable d) {

                }

                @Override
                public void onNext(Boolean aBoolean) {
                  if (aBoolean) {
                    Toast.makeText(mContext, "已获取权限,可以干想干的咯", Toast.LENGTH_LONG)
                        .show();
                  } else {
                    //只有用户拒绝开启权限,且选了不再提示时,才会走这里,否则会一直请求开启
                    Toast.makeText(mContext, "主人,我被禁止啦,去设置权限设置那把我打开哟", Toast.LENGTH_LONG)
                        .show();
                  }
                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onComplete() {

                }
        });
      }
    });

  注意: 必须加 compile 'io.reactivex.rxjava2:rxjava:2.0.5' 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部