1.请求权限
第一步:导包:RxJava和RxPermission的依赖包
//RxJava
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
//RxPermission
compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.3@aar'
第二步:代码使用
RxPermissions rxPermission = new RxPermissions(FlashActivity.this);
rxPermission
//这里是你需要的权限
.request(Manifest.permission.INTERNET,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA,
Manifest.permission.RECORD_AUDIO)
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
if (!aBoolean) {
//权限不完整处理
// Toast.makeText(FlashActivity.this, "部分权限没有获取,会影响app正常使用", Toast.LENGTH_LONG).show();
}else{
//权限完整处理
}
}
})
;
2.启动页倒计时的使用
代码实现
Observable.interval(1, TimeUnit.SECONDS)
.take(3)//总秒数
.map(new Function<Long, Long>() {
@Override
public Long apply(Long aLong) throws Exception {
return mTime - aLong;//mTime是定义的总秒数
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())//在主线程
.subscribe(new Observer<Long>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Long value) {
//设置倒计时的秒数
countTime.setText(String.valueOf(value));
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
//完成后进入对应的界面
Intent intent = new Intent(FlashActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
});
网友评论