我目前正在开发一个作为意图启动的应用程序。这是我正在使用的标志:
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); // don't "zoom", etc. the launch
intent.setFlags(PendingIntent.FLAG_UPDATE_CURRENT);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
这很好用,但是如果您一遍又一遍地快速打开和关闭它,我会收到此错误:
04-15 17:47:05.190: ERROR/AndroidRuntime(13515): FATAL EXCEPTION: main
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@408fe608 is not valid; is your activity running?
at android.view.ViewRoot.setView(ViewRoot.java:530)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.view.Window$LocalWindowManager.addView(Window.java:424)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2170)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
我做了一些研究,了解到很多人都有这个问题。大多数人收到此错误是因为他们使用带有应用程序上下文的对话框。我的应用程序没有任何对话框。我在整个应用程序中都使用了这个引用。我还放置了一些日志来确定它在哪里崩溃。它发生在onResume
完成之后。
其他人遇到过这个问题吗?
我在那个错误之上得到了这个。
04-15 17:47:05.190: WARN/WindowManager(2233): Attempted to add application window with unknown token HistoryRecord