1.注册广播
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);//home键
//filter.addAction(Intent.ACTION_USER_PRESENT);//用户解锁广播
filter.addAction(Intent.ACTION_SCREEN_OFF);//灭屏广播,亮屏为on
registerReceiver(mReceiver, filter);
2.接受广播
private static final String SYSTEM_DIALOG_REASON_KEY = "reason";
private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent intent) {
String action = intent.getAction();
if(Util.EXIT_ACTION.equals(action)){
mTabHost.setCurrentTab(0);
mRadio_mylock.setChecked(true);
}else if(Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)){
String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
if (SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)) {
// 短按Home键
}
}else if(Intent.ACTION_SCREEN_OFF.equals(action)){
//灭屏
}
}
};