而在一般的軟體中,按下Home key時,雖然回到桌面,但並不會結束軟體,這次開發的軟體中,需要按下Home鍵時立即結束軟體,但在無法捕獲Home key的狀況下到底該如何做呢?
答案是需要覆寫以下方法:
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
接著再覆寫onKeyDown方法:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_HOME:
this.finish(); //結束此activity
break;
return super.onKeyDown(keyCode, event);
}
在此需要注意的是,若軟體需要隱藏status bar,則無法得到Home key的權限,也就是說兩者一定要保留一個,要嘛就是隱藏status bar而放棄home key,要嘛就是得到home key權限而無法隱藏status bar。
0 comments:
Post a Comment