注册如下广播接收器:
private BroadcastReceiver mHomeKeyEventReceiver = new BroadcastReceiver() {
String SYSTEM_REASON = "reason";
String SYSTEM_HOME_KEY = "homekey";
String SYSTEM_RECENT_APPS = "recentapps";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
Log.d(TAG, "ACTION_CLOSE_SYSTEM_DIALOGS");
String reason = intent.getStringExtra(SYSTEM_REASON);
Log.d(TAG, "reason - " + reason);
if (TextUtils.equals(reason, SYSTEM_HOME_KEY)) {
// Home key is pressed
}else if( TextUtils.equals(reason, SYSTEM_RECENT_APPS) ){
// Recent apps key.
}
}
}
};