Check your code for context  and change getApplicationContext(); to this

I Guess your context assignment is
          Context context = getApplicationContext(); // this give you the
bad token error.
change it to:
           *Context context = this;* // this assignment will remove your bad
token exception.

On Tue, Dec 15, 2009 at 8:27 AM, Ronin <akpra...@gmail.com> wrote:

> Hi,
>
> I am trying to write a small game application in Android.
> Following error is seen when I try to do showDialog().
>
> When I launch the emulator and start the game the first time it works
> fine. Then, the second time, it fails with the error. And 3rd, 5th,
> 7th time it works fine. Whereas it fails 4th,6th, 8th time and so
> on...
>
> I do not have any clue why it is happening. Please help. May be the
> exception is cleaning up something and the next time the application
> works fine.
>
> Code snippet is below. I am not doing any cleanup in onDestroy()
> method as of now.
>
> ------ Code GameActivity.onCreateDialog() start ------
> public Dialog onCreateDialog(int id)
> {
>               AlertDialog ad = null;
>               AlertDialog.Builder builder = new AlertDialog.Builder
> (this);
>               ad = builder.create();
>
>               this.id = id;
>
>               if(id == Consts.WINNER_DIALOG_ID)
>                       ad.setMessage(player[winnerId]+" is the
> winner");
>               else if(id == Consts.TIE_DIALOG_ID)
>                       ad.setMessage("It's a tie");
>
>               ad.setButton("OK", new DialogInterface.OnClickListener
> () {
>                       public void onClick(DialogInterface di, int i)
> {
>                               ((GameActivity)mContext).finish();
>                       }
>               });
>               return ad;
> }
> ------ Code  GameActivity.onCreateDialog()  end ------
>
>
> ------ Exception start here ------
> 12-14 08:25:40.166: WARN/WindowManager(52): Attempted to add
> application window with unknown token HistoryRecord{433b63b8
> {com.abcd.android.examples/com.abcd.android.examples.GameActivity}}.
> Aborting.
> 12-14 08:25:40.176: DEBUG/AndroidRuntime(169): Shutting down VM
> 12-14 08:25:40.186: WARN/dalvikvm(169): threadid=3: thread exiting
> with uncaught exception (group=0x4000fe68)
> 12-14 08:25:40.186: ERROR/AndroidRuntime(169): Uncaught handler:
> thread main exiting due to uncaught exception
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):
> android.view.WindowManager$BadTokenException: Unable to add window --
> token android.os.binderpr...@433aaaa8 is not valid; is your activity
> running?
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.ViewRoot.setView(ViewRoot.java:384)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.WindowManagerImpl.addView(WindowManagerImpl.java:90)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.Window$LocalWindowManager.addView(Window.java:393)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.app.Dialog.show(Dialog.java:212)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.app.Activity.showDialog(Activity.java:2277)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> com.abcd.android.examples.ImageAdapter.clicked(ImageAdapter.java:115)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> com.abcd.android.examples.ImageAdapter$1.onClick(ImageAdapter.java:
> 149)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.View.performClick(View.java:2129)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.View.onTouchEvent(View.java:3543)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.View.dispatchTouchEvent(View.java:3198)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:857)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:857)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:857)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:857)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:857)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> com.android.internal.policy.impl.PhoneWindow
> $DecorView.superDispatchTouchEvent(PhoneWindow.java:1593)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent
> (PhoneWindow.java:1089)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.app.Activity.dispatchTouchEvent(Activity.java:1871)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> com.android.internal.policy.impl.PhoneWindow
> $DecorView.dispatchTouchEvent(PhoneWindow.java:1577)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.view.ViewRoot.handleMessage(ViewRoot.java:1140)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.os.Handler.dispatchMessage(Handler.java:88)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.os.Looper.loop(Looper.java:123)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> android.app.ActivityThread.main(ActivityThread.java:3739)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> java.lang.reflect.Method.invokeNative(Native Method)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> java.lang.reflect.Method.invoke(Method.java:515)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
> (ZygoteInit.java:739)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:497)
> 12-14 08:25:40.216: ERROR/AndroidRuntime(169):     at
> dalvik.system.NativeStart.main(Native Method)
> ------ Exception end here ------
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Beginners" group.
> To post to this group, send email to android-beginners@googlegroups.com
> To unsubscribe from this group, send email to
> android-beginners+unsubscr...@googlegroups.com<android-beginners%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/android-beginners?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.
To post to this group, send email to android-beginners@googlegroups.com
To unsubscribe from this group, send email to
android-beginners+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en

Reply via email to