I am in my application and I have control back button but I also want to control home button. I have writte开发者_C百科n the code but I am unable to control HOME button. Here is my code. Help me to achieve it.
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK )
{
return false;
}
else if (keyCode == KeyEvent.KEYCODE_HOME)
{
return false;
}
return super.onKeyDown(keyCode, event);
}
You cannot override the home key function, this functionality would allow an app to lock the user out of the phone.
This solution works from 2.1,
Okay, this was supposed to be a hard question. But here is a way to crack it.
Override the below method in your Activity,
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
And now handle the key event like this,
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
Log.i("Home Button","Clicked");
}
if(keyCode==KeyEvent.KEYCODE_BACK)
{
finish();
}
return false;
};
As per Android core concepts, no application can alter the behaviour of the Home
button.
This you may not achieve what you're trying to do.
EDIT
You can try to code one Home Screen Launcher
so that when user presses the home button, they can go to your Home Launcher.
精彩评论