(1)单击/双击HOME键,系统会发送一个广播:ACTION_CLOSE_SYSTEM_DIALOGS;
在接收广播中的处理为:String reason = intent.getStringExtra("reason");
if (reason.equals("homekey")) {
// "home press"
}
if (reason.equals("recentapps")) {
// "home double click"
}
ps:当屏幕超时进行锁屏时;当用户按下电源按钮,长按或短按(不管有没跳出话框),进行锁屏时;android系统都会广播此Action(ACTION_CLOSE_SYSTEM_DIALOGS)消息。
在接收广播中的处理为:String reason = intent.getStringExtra("reason");
if (reason.equals("homekey")) {
// "home press"
}
if (reason.equals("recentapps")) {
// "home double click"
}
ps:当屏幕超时进行锁屏时;当用户按下电源按钮,长按或短按(不管有没跳出话框),进行锁屏时;android系统都会广播此Action(ACTION_CLOSE_SYSTEM_DIALOGS)消息。
此广播是在frameworks\base\services\java\com\android\server\am\ActivityManagerService.java里发送的Intent.ACTION_CLOSE_SYSTEM_DIALOGS
(2)在android低版本的SDK中,还有另一种方式可以获取HOME键的按下事件:
在activity中重写方法onAttachedToWindow():
@Override
public void onAttachedToWindow() {
ge