Android監聽返回鍵、Menu鍵、Home鍵、
阿新 • • 發佈:2019-02-10
back鍵
監聽back鍵還是很簡單的,有兩種方法:
- 呼叫onBackPressed()方法:呼叫此方法會自動呼叫finish()。
@Override
public void onBackPressed() {
statement //在按返回鍵時的操作
}
- 呼叫onKeyDown()方法:根據keyCode的值,做具體操作
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
statement//具體操作
return false; //
}else {
return super.onKeyDown(keyCode, event);
}
}
注意!!!——>對於onKeyDown的返回值問題,需要謹慎處理。
Return true to prevent this event from being propagated further,
or false to indicate that you have not handled this event and it should continue to be propagated.返回 true 是為了阻止這個事件被傳播;
返回 false 來表明你並沒有控制這個點選事件,事件繼續傳播;
menu鍵
- 對Menu鍵的監聽,採用對back監聽的第二種方法。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_MENU)) {
statement//具體操作
return false; //
}else {
return super.onKeyDown(keyCode, event);
}
}
Home鍵
Home鍵的監聽是一個比較難處理的部分,也是出問題最多的部分。
由於沒有時間動手編寫程式碼測試,後期補上。這裡我只給出整體思路,附加幾篇有程式碼描述的文章供大家參考(這幾篇文章好像都有不全面的地方,對不同品牌的手機,處理方式有所差別)。
監聽Home鍵:
① 建立廣播接受者;
② 在Activity或者Service中 動態 註冊監聽;
③ 在Activity使用;
參考部落格: