我几天前已经在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 状态。