如何监听home按键

2.3系统之前重新Activityon的AttachedToWindow()即可搞定。

@Override
public void onAttachedToWindow() {
// TODO Auto-generated method stub
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}

2.3系统之后利用监听广播完成对home按键的监听。

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class HomeKeyEventBroadCastReceiver extends BroadcastReceiver {

final String SYSTEM_REASON = "reason";
final String SYSTEM_HOME_KEY = "homekey";// 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&&reason.equals(SYSTEM_HOME_KEY)) {
System.out.println("点击home按键!");
}
}
}
}

注册广播:

HomeKeyEventBroadCastReceiver receiver = new HomeKeyEventBroadCastReceiver();
registerReceiver(receiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

你可能感兴趣的:(Android)