美文网首页
RxPermission不进入subscribe方法

RxPermission不进入subscribe方法

作者: BergHuang | 来源:发表于2019-04-17 11:08 被阅读0次

    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

    相关文章

      网友评论

          本文标题:RxPermission不进入subscribe方法

          本文链接:https://www.haomeiwen.com/subject/onegwqtx.html