android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌android.os.BinderProxy@aba286f无效;你的活动在运行吗?

时间:2018-04-03 11:55:50

标签: java android

突然之间我的应用程序在顺畅航行中崩溃了

完成错误:

 at android.view.ViewRootImpl.setView(ViewRootImpl.java:679)
 at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:342)
 at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
 at android.widget.Toast$TN.handleShow(Toast.java:434)
 at android.widget.Toast$TN$2.handleMessage(Toast.java:345)
 at android.os.Handler.dispatchMessage(Handler.java:102)
 at android.os.Looper.loop(Looper.java:154)
 at android.app.ActivityThread.main(ActivityThread.java:6119)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

我发现很难调试。请详细说明如何调试它。谢谢你的帮助。

  

重要提示   这不是重复的   Error : BinderProxy@45d459c0 is not valid; is your activity running?

     

我没有在我的应用中使用任何对话框。是的我确实使用简单   祝酒词。但不清楚是什么导致错误......

更新:此错误发生在TabbedLayout.I已删除所有Toast的活动中,错误仍然存​​在。我使用了Logs

2 个答案:

答案 0 :(得分:0)

可能有上下文是旧窗口(Activity),其中Activity配置可能会更改,您可以保留现在没有任何窗口可用的旧上下文。

这就是为什么会发生这种情况。

请检查您的代码是否有任何配置更改或活动获取刷新?

你内部的Toast类正在提供实际上不存在的关闭窗口或旧窗口上下文。

答案 1 :(得分:0)

当线程不存在时尝试在主线程上执行操作时会出现此异常。当您在活动/片段中显示对话但该类已经完成时会发生这种情况,因此会出现此异常。

要在显示任何类型的对话框时处理此异常,请检查isFinishing()状态。