开发者

How to control Home Button in Android?

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜