close
例子:
1.遊戲中,按下power key, 遊戲暫停,及一些過程中開啟的thread需要停止
2.鬧鐘響鈴,按power key,將鬧鐘停止
問題:一般抓取keyevent
- /**按键按下触发的事件*/
- public boolean onKeyDown(int keyCode, KeyEvent event)
- {
- switch(keyCode)
- {
- case KeyEvent.KEYCODE_DPAD_CENTER:
- ShowMessage("按下:中键");break;
- case KeyEvent.KEYCODE_DPAD_UP:
- ShowMessage("按下:上方向键");break;
- case KeyEvent.KEYCODE_DPAD_DOWN:
- ShowMessage("按下:下方向键");break;
- case KeyEvent.KEYCODE_DPAD_LEFT:
- ShowMessage("按下:左方向键");break;
- case KeyEvent.KEYCODE_DPAD_RIGHT:
- ShowMessage("按下:右方向键");break;
- }
- return super.onKeyDown(keyCode, event);
- }
甚至volume up ,volume down,都可以抓取,用得很開心
但是有個keyevent 抓不到,雖然在KeyEvent裡還是有留下了(KEYCODE_POWER)這個編號,
android 的預設架構下,power key的 event在 底層就會被消化掉了,不會流到讓app作使用,
但是android 關了一扇門,也開了另一扇窗
在power_key在底層消化後,必然做的一件事就是把screen off,也就是關螢幕,然後會送出一個intent 通知 screen off
所以我們可以收取這個Intent來作對應的動作
1) 待机:
广播消息:android.intent.action.SCREEN_OFF (代码)
2) 唤醒:
广播消息:android.intent.action.SCREEN_ON (代码)
參考:http://blog.csdn.net/myarrow/article/details/8143717
全站熱搜