Android 在设计的时候,就把home键的处理都放在了框架处理,应用不需要处理Home键,但是也有一些特殊的场景会遇到控制home键的处理。如下:
1、private static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;
2、在onCreate方法中加入:this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);
3、重写onKeyDown方法:在这里已经截获了KEYCODE_HOME键的操作。这时你可以做自己的事情。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
Log.d(TAG, "++++KEYCODE_HOME");
execToHome();
}
return super.onKeyDown(keyCode, event);
}
4、如果在按下home键的时候,同时处理框架原有的home键和自己对home键所做的处理,可以增加一个方法:
private void execToHome() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_A