公司要開發一款智能終端,設備中預裝了本公司開發的軟件,可是爲了不用戶進入Android系統的界面,這個時候咱們就須要對其中的按鍵加以屏蔽,尤爲是Home鍵,在普通的狀況下,當咱們點擊Home按鍵的時候,就返回到咱們的Android系統,在這裏,當咱們點擊Home按鍵的時候,讓返回咱們應用的主界面。ide
在Android4.0如下版本的Android設備中,能夠重寫onAttachedToWindow方法來實現屏蔽Home按鍵的做用this
@Override public void onAttachedToWindow() { // TODO Auto-generated method stub this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); super.onAttachedToWindow(); }
可是在Android4.0以上版本的Android設備中就不能用了,不過剛剛發現了另一種屏蔽和重寫Home按鍵的方法:spa
1 public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; 2 @Override 3 protected void onCreate(Bundle savedInstanceState) { 4 super.onCreate(savedInstanceState); 5 this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);// 關鍵代碼 6 setContentView(R.layout.activity_main); 7 } 8 9 @Override 10 public boolean onKeyDown(int keyCode, KeyEvent event) { 11 // TODO Auto-generated method stub 12 if (KeyEvent.KEYCODE_HOME == keyCode) { 13 Toast.makeText(MainActivity.this, "HOME", Toast.LENGTH_SHORT).show(); 14 } 15 return super.onKeyDown(keyCode, event); 16 }
這樣的話你再點擊Home按鍵的時候就不會返回到桌面了。code
==blog