android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an appli

来源:互联网 发布:淘宝店铺如何添加音乐 编辑:程序博客网 时间:2024/05/17 06:32
08-26 13:55:00.231: E/AndroidRuntime(13561): FATAL EXCEPTION: main
08-26 13:55:00.231: E/AndroidRuntime(13561): Process: com.aaa.bbb.example, PID: 13561
08-26 13:55:00.231: E/AndroidRuntime(13561): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.view.ViewRootImpl.setView(ViewRootImpl.java:592)
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:272)
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:76)
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.app.Dialog.show(Dialog.java:337)
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.app.AlertDialog.show(AlertDialog.java:1367)
08-26 13:55:00.231: E/AndroidRuntime(13561): at com.aaa.bbb.core.impl.d.onStart(CommunitySDKImpl.java:547)
08-26 13:55:00.231: E/AndroidRuntime(13561): at com.aaa.bbb.core.nets.Request.c(Request.java:163)
08-26 13:55:00.231: E/AndroidRuntime(13561): at com.aaa.bbb.core.nets.a.b.run(AbsHttpStack.java:71)
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.os.Handler.handleCallback(Handler.java:733)
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.os.Handler.dispatchMessage(Handler.java:95)
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.os.Looper.loop(Looper.java:136)
08-26 13:55:00.231: E/AndroidRuntime(13561): at android.app.ActivityThread.main(ActivityThread.java:5054)
08-26 13:55:00.231: E/AndroidRuntime(13561): at java.lang.reflect.Method.invoke(Native Method)
08-26 13:55:00.231: E/AndroidRuntime(13561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)

08-26 13:55:00.231: E/AndroidRuntime(13561): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)


android 中每个窗口都有一个token,和我们通常意义上说的token是一个意思,就是每个窗口都有一个令牌

这个问题的原因是:对话框渲染是需要有一个父窗口的,比如activity,fragment。这里要弹出一个对话框,传递给对话框的context是application,application是没有窗口,没有token的,导致这个对话框没有办法渲染。


0 0