Unable to add window -- token null is not valid; is your activity running?
在Android中连续弹出两个Dialog就会出现下面的错误:
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:1517)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:442)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:151)
at android.app.Dialog.show(Dialog.java:352)
at android.app.AlertDialog$Builder.show(AlertDialog.java:1131)
at com.deepcode.deepcount.Fragment.FragmentCount$5.run(FragmentCount.java:389)
at android.os.Handler.handleCallback(Handler.java:1000)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loopOnce(Looper.java:242)
at android.os.Looper.loop(Looper.java:362)
at android.app.ActivityThread.main(ActivityThread.java:8393)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:992)
这是因为当上一个对话框dismiss后立即显示下一个对话框,可能会因为窗口令牌(window token)尚未完全释放而导致BadTokenException.解决这个问题最简单的方法就是把Dialog改成Activity.

浙公网安备 33010602011771号