unable to add window --token null is not valid; is your activity running

1,288 阅读1分钟
使用场景:

在activity中使用一个dialog 中嵌套一个dialog的时候会出现这个问题

报错log日志:
 android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
  at android.view.ViewRootImpl.setView(ViewRootImpl.java:791)
  at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:94)
  .......
可能产生错误的原因:
  1. context为null导致的
  2. 在销毁Activity时调用了Dialog.show()
大致解决思路
  1. 检查dialog的上下文对象(context),建议最后使用application的上下文对象
  2. 在调用的地方判断一下是否销毁Activity.isFinishing()