RxPermission不进入subscribe方法
2019-04-17 本文已影响0人
BergHuang
Des
new RxPermissions(mActivity)
.request(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)
.as(AutoDispose.autoDisposable(AndroidLifecycleScopeProvider.from(this)))
.subscribe(permission -> {
doSomething();
}, e -> {log(e)})
试着加.doFinally()
,当无权限时先进入了doFinally方法,说明本次请求权限直接结束了,实测log(e)没有异常,正常的应该进入subscribe再结束。
Cause
使用了 .as(AutoDispose.autoDisposable(AndroidLifecycleScopeProvider.from(this)))
该方法可能默认绑定的生命周期事件是onPause(有待查看),当请求权限的弹出框出现时整个流程直接被dispose了。
Resolve
使用 .as(AutoDispose.autoDisposable(AndroidLifecycleScopeProvider.from(this, Lifecycle.Event.ON_DESTROY)))
添加了Lifecycle.Event.ON_DESTROY