如何监听android4.0的home键
我想在用户按下home键的时候监听到,并改做其他动作。可是不知道怎么监听android4.0的home键,谢谢大家! --------------------编程问答-------------------- home键好像监听不到吧,看下源码中的PhoneWindowManager.java有监听home键 --------------------编程问答--------------------class InnerRecevier extends BroadcastReceiver {
final String SYSTEM_DIALOG_REASON_KEY = "reason";
final String SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS = "globalactions";
final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
if (reason != null) {
if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) {
//press home
} else if (reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {
//long press home
}
}
}
}
}
以上是我监听home键的广播接收器 你看了估计就知道怎么监听了 --------------------编程问答-------------------- 学习了~! --------------------编程问答-------------------- @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_HOME:
.......//添加自己的处理
return true;
}
return super.onKeyDown(keyCode, event);//如果不想让父类继续处理,直接改为return false
} --------------------编程问答--------------------
4.0这个方法不行,以上方法2.3以下都可以 --------------------编程问答-------------------- 4.0的HOME监听不到 --------------------编程问答-------------------- 不用费脑筋去思考如何监听了,一般是监听不到的,尤其是想屏蔽HOME键的同学。我修改过这个问题,在ICS之前都可以监听(不包括ICS),如果你是做手机的,你有机会修改这个,呵呵。我做过按键的自检程序,就修改的貌似PhoneWindowManager.java吧,很久之前的事情了。
--------------------编程问答--------------------
学习了 --------------------编程问答-------------------- demo如下,可以在点击home时执行自己的操作
http://bbs.csdn.net/topics/390336545?page=1#post-394283462 --------------------编程问答-------------------- demo如下,可以在点击home时执行自己的操作
开始发错了,在这里
http://download.csdn.net/detail/fire_fire_fire/5286015 --------------------编程问答--------------------
public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码
setContentView(R.layout.main);
}
再重写onKey事件即可。
补充:移动开发 , Android