guolindev / PermissionX

An open source Android library that makes handling runtime permissions extremely easy.
Apache License 2.0
3.5k stars 404 forks source link

错误原因:Operation cannot be started before fragment is in created state #225

Open loflv opened 1 year ago

loflv commented 1 year ago

版本 :1.7.1 Operation cannot be started before fragment is in created state com.permissionx.guolindev.request.InvisibleFragment.requestNow(InvisibleFragment.kt:110)

出错堆栈 androidx.fragment.app.Fragment$9.launch(Fragment.java:3507) androidx.activity.result.ActivityResultLauncher.launch(ActivityResultLauncher.java:47) com.permissionx.guolindev.request.InvisibleFragment.requestNow(InvisibleFragment.kt:159) com.permissionx.guolindev.request.PermissionBuilder.requestNow(PermissionBuilder.kt:428) com.permissionx.guolindev.request.RequestNormalPermissions.request(RequestNormalPermissions.kt:53) com.permissionx.guolindev.request.RequestChain.runTask$permissionx_release(RequestChain.kt:51) com.permissionx.guolindev.request.PermissionBuilder.startRequest(PermissionBuilder.kt:572) com.permissionx.guolindev.request.PermissionBuilder.request(PermissionBuilder.kt:288) com.appbase.tools.util.ContactPhoneUtil.startAddContact(ContactPhoneUtil.kt:213) com.business.ui.mainbusiness.activity.MainActivity.setBody(MainActivity.kt:167) com.appbase.basemvp.ResourcePresenter$2.getSuccess(ResourcePresenter.java:118) com.appbase.basemvp.ResourceModel$1.onNext(ResourceModel.java:63) com.appbase.basemvp.ResourceModel$1.onNext(ResourceModel.java:44) io.reactivex.rxjava3.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201) io.reactivex.rxjava3.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255) io.reactivex.rxjava3.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:123) android.os.Handler.handleCallback(Handler.java:938) android.os.Handler.dispatchMessage(Handler.java:99) android.os.Looper.loopOnce(Looper.java:233) android.os.Looper.loop(Looper.java:344) android.app.ActivityThread.main(ActivityThread.java:8241) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)

loflv commented 1 year ago

bugly上收集到错误信息,我这边暂时没有复现还不清楚复现步骤是什么,希望郭神可以帮忙看看,是我使用错误还是代码本身的bug

czfyzzf commented 1 year ago

遇到同样的问题,线上一直有,本地就是复现不了

weilanxiao commented 1 year ago

看看项目里是不是有异步调用请求权限的,可能 Activity 在 Destroy 状态去请求了权限。