RxPermission使用

開源代碼地址: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卸了,果真就可以了。。。 這是什麼鬼呀?


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章