开发者

How to control Home Button in Android?

开发者 https://www.devze.com 2023-02-19 04:03 出处:网络
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 achie

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

精彩评论

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