RxPermission不进入subscribe方法

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容