前一陣子領導要求把home鍵屏蔽掉,結果用戶提出要求不想屏蔽調home鍵,結果只能做一下配置,讓用戶選擇,選擇屏蔽就屏蔽掉,不願意就不屏蔽掉。
先期屏蔽home鍵的時候的方法:
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
網上有很多關於這類的文章,在這就不多說了,現在的問題是怎麼讓用戶選擇,既可以屏蔽掉,也可以不做處理,在這裏我們就要監聽一下home鍵了:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_HOME){
if(PubFunAndVar.home.equals("0")){//這塊是我判斷用戶的選擇用的,用戶選擇了屏蔽home鍵就是1,不選擇屏蔽則是0
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);//回到主頁面
startActivity(intent);
}
}
return super.onKeyDown(keyCode, event);
}
當然前提是必須覆寫一下onAttachedToWindow(),要不然根本監聽不到home鍵。