/*
* 点击home键的广播
*/
public class HomeWatcherReceiver extends BroadcastReceiver {
String SYSTEM_DIALOG_REASON_KEY = "reason";
String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
@SuppressLint("NewApi")
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
// android.intent.action.CLOSE_SYSTEM_DIALOGS
String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
if (SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)) {
Toast.makeText(context, "你点击了home键", 1000).show();
}
}
}
}
/*
* 动态注册广播
*/
HomeWatcherReceiver mHomeKeyReceiver = null;
private void registerHomeKeyReceiver() {
mHomeKeyReceiver = new HomeWatcherReceiver();
IntentFilter homeFilter = new IntentFilter(
Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
registerReceiver(mHomeKeyReceiver, homeFilter);
}
//广播解绑
private void unregisterHomeKeyReceiver() {
if (null != mHomeKeyReceiver) {
unregisterReceiver(mHomeKeyReceiver);
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
try{
unregisterHomeKeyReceiver();
}catch(Exception e){
}
}