大家可能或多或少在開發過程中遇到過監聽HOME鍵的需求,但是使出了渾身解數也不一定能夠監聽到,當然除開系統開發的童鞋哈,下面給大家介紹的方法我在項目中已經測試過了,是可行的,方法就是利用廣播來實現。代碼如下:
static final String SYSTEM_RECENT_APPS = "recentapps";//long home key
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
String reason = intent.getStringExtra(SYSTEM_REASON);
if (reason != null) {
if (reason.equals(SYSTEM_HOME_KEY)) {
// home key處理點
} else if (reason.equals(SYSTEM_RECENT_APPS)) {
// long home key處理點
}
}
}
}
}
然後當然需要在onCreate裏面註冊該廣播:
receiver = new HomeKeyEventBroadCastReceiver();
registerReceiver(receiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
也需要在onDestroy裏面解除該廣播哦!