I have implemented onKeyDown and can successfully intercept
KEYCODE_BACK and many others to prohibit the default behavior.  Is
this not possible with KEYCODE_HOME?  I have a test activity that will
only finish() if KEYCODE_A is seen.  Even KEYCODE_BACK does nothing.
However KEYCODE_HOME continues to have its effect.

Anyone have any insight into this?

Thanks.  The test code is below.  The strange thing to note is that
although the toast in the if/else that should handle the KEYCODE_HOME
never fires, if I relaunch the application the state is *not* restored
so it is like either the onDestroy is being called (previously I tried
finish() also) or it is like the application is crashing for some
other reason.

I'm confused.


import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;

public class MainMenu extends Activity
{
        public void onCreate(Bundle bun)
        {
                super.onCreate(bun);
                setContentView(R.layout.main);

        }
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        //if we get any key, clear the Splash Screen
        if(keyCode==KeyEvent.KEYCODE_HOME) {
                Toast.makeText(getApplicationContext(), "HIT!",
Toast.LENGTH_SHORT).show();
                onDestroy();
                return true;
        } else {
                Toast.makeText(getApplicationContext(), "missed",
Toast.LENGTH_SHORT).show();
                return true;
        }
        //return super.onKeyDown(keyCode, event);
    }

}


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

Reply via email to