BadTokenException [英] BadTokenException

查看:128
本文介绍了BadTokenException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开始一个活动,我需要出示alertdialog,所以我写了一个对话的Util类(DialogHandler中),我通过上下文DialogHandler中,第一次启动就可以了,但是当我开始第二次,它的发生的exception.what应该怎么做,PS帮我。

下面是错误报告:

  7月12号至三号:23:26.000:ERROR / AndroidRuntime(21525):致命异常:主要
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不是一个应用程序
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在android.view.ViewRoot.setView(ViewRoot.java:509)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在android.app.Dialog.show(Dialog.java:241)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在com.eoemobile.api.update.EoeSdkUpdate.onCacheFetched(EoeSdkUpdate.java:170)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在com.eoemobile.api.net.CacheManager.handleCallBackMag(CacheManager.java:362)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在com.eoemobile.api.net.CacheManager.access $ 1(CacheManager.java:358)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在com.eoemobile.api.net.CacheManager $ CallbackHandler.handleMessage(CacheManager.java:375)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在android.os.Handler.dispatchMessage(Handler.java:99)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在android.os.Looper.loop(Looper.java:123)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在android.app.ActivityThread.main(ActivityThread.java:4627)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在java.lang.reflect.Method.invokeNative(本机方法)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在java.lang.reflect.Method.invoke(Method.java:521)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
7月12日至三日:23:26.000:ERROR / AndroidRuntime(21525):在dalvik.system.NativeStart.main(本机方法)
 

解决方案

您无法显示通过一个背景下,是不是一个活动的应用程序窗口/对话框。请请注意,每次启动一个对话框,它得到正确的上下文。

i start a activity,i need to show a alertdialog,so i write a dialog util class(dialoghandler) ,i pass the context to the dialoghandler ,the first start is ok,but when i start the second ,it happend the exception.what should i do,ps help me.

here is the bug report:

12-03 07:23:26.000: ERROR/AndroidRuntime(21525): FATAL EXCEPTION: main
12-03 07:23:26.000: ERROR/AndroidRuntime(21525): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at android.view.ViewRoot.setView(ViewRoot.java:509)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at android.app.Dialog.show(Dialog.java:241)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at com.eoemobile.api.update.EoeSdkUpdate.onCacheFetched(EoeSdkUpdate.java:170)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at com.eoemobile.api.net.CacheManager.handleCallBackMag(CacheManager.java:362)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at com.eoemobile.api.net.CacheManager.access$1(CacheManager.java:358)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at com.eoemobile.api.net.CacheManager$CallbackHandler.handleMessage(CacheManager.java:375)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at android.os.Looper.loop(Looper.java:123)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at android.app.ActivityThread.main(ActivityThread.java:4627)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at java.lang.reflect.Method.invokeNative(Native Method)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at java.lang.reflect.Method.invoke(Method.java:521)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-03 07:23:26.000: ERROR/AndroidRuntime(21525):     at dalvik.system.NativeStart.main(Native Method)

解决方案

You cannot display an application window/dialog through a Context that is not an Activity. Check please that every time you start a dialog it gets correct Context.

这篇关于BadTokenException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆