我几天前已经在Play商店上发布了我的应用。昨天,Firebase向我发送了一 strip 有以下错误的消息:

Exception java.lang.IllegalStateException: Activity has been destroyed
android.support.v4.app.FragmentManagerImpl.enqueueAction ()
android.support.v4.app.BackStackRecord.a ()
android.support.v4.app.BackStackRecord.commitAllowingStateLoss ()
com.kerbalosapp.helloworld.MainActivity$3$1.run ()
android.os.Handler.handleCallback (Handler.java:725)
android.os.Handler.dispatchMessage (Handler.java:92)
android.os.Looper.loop (Looper.java:153)
android.app.ActivityThread.main (ActivityThread.java:5341)
java.lang.reflect.Method.invokeNative (Method.java)
java.lang.reflect.Method.invoke (Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:929)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:696)

在类似问题中发布的所有答案都表明问题出在getChildFragmentManager(),但我没有任何嵌套的片段。

最佳答案

我通过在MainActivity中添加以下功能解决了该问题:

public boolean isRunning() {
    return getWindow().getDecorView().isShown();
}

在提交任何事务之前,我使用isRunning()检查 Activity 状态。

08-18 18:38
查看更多