RxPermission使用

来源:互联网 发布:淘宝买家留言写什么好 编辑:程序博客网 时间:2024/05/20 16:37

开源代码地址:https://github.com/tbruyelle/RxPermissions/

其实里面就3个文件。


1.配置

dependencies {
compile 'io.reactivex.rxjava2:rxjava:2.0.1'compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.3@aar'

2.使用

import com.tbruyelle.rxpermissions2.RxPermissions;import io.reactivex.*;import io.reactivex.disposables.Disposable;
//权限判断RxPermissions rxPermissions = new RxPermissions(this);rxPermissions.request(Manifest.permission.CAMERA, Manifest.permission.READ_PHONE_STATE) .subscribe(new Observer<Boolean>() { @Override public void onNext(Boolean granted) { if (granted) { // 在android 6.0之前会默认返回true // 已经获取权限 //页面跳转 handler.postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(LauncherActivity.this, MainActivity.class); startActivity(intent); finish(); } }, 1500); } else { // 未获取权限 Toast.makeText(LauncherActivity.this, "您没有授权该权限,请在设置中打开授权", Toast.LENGTH_SHORT).show(); } } @Override public void onSubscribe(Disposable d) { } @Override public void onError(Throwable e) { } @Override public void onComplete() { } });
出现的问题i:
1.我用的rxjava2, 可能会出现
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/rxjava.properties
            File1
: C:\Users\Daniel\.gradle\caches\modules-2\files-2.1\io.reactivex\rxjava\1.1.0\748f0546d5c3c27f1aef07270ffea0c45f0c42a4\rxjava-1.1.0.jar
            File2
: C:\Users\Daniel\.gradle\caches\modules-2\files-2.1\io.reactivex.rxjava2\rxjava\2.0.1\d2f725668bd22e21170381b23f8fbdf72c69d886\rxjava-2.0.3.jar
这种问题,解决办法:
//排除掉包版本兼容性问题packagingOptions {    exclude 'META-INF/DEPENDENCIES.txt'    exclude 'META-INF/NOTICE'    exclude 'META-INF/NOTICE.txt'    exclude 'META-INF/LICENSE'    exclude 'META-INF/LICENSE.txt'    exclude 'META-INF/rxjava.properties'    exclude 'META-INF/rxjava.PROPERTIES'    exclude 'META-INF/RXJAVA.properties'    exclude 'META-INF/RXJAVA.PROPERTIES'    exclude 'META-INF/rxjava'    exclude 'META-INF/RXJAVA'}

2.在7.0上可能遇到 检测到屏幕叠加层
然后你在设置里怎么也弄不明白,都不允许也不行。
后来呢~~~ 有人说把360卸了,果真就可以了。。。 这是什么鬼呀?

0 0
原创粉丝点击