android中攔截back鍵大家應該很熟練了,而且網(wǎng)上一搜一大片式曲,在android中攔截home鍵呢?在dialog中攔截home鍵呢吝羞?不啰嗦了,直接給出最簡單的方法敦腔。
1、activity攔截home
這個和別人提供的方法一樣会烙,直接在onKeyDown中判斷keyCode?==?KeyEvent.KEYCODE_HOME是不能攔截的筒捺,需要在activity的onCreate()方法setContentView之前添加getWindow().setFlags(0x80000000,0x80000000)柏腻,這樣就能和監(jiān)聽back一樣監(jiān)聽home了系吭。
2、dialog攔截home
和activity一樣,dialog也可以攔截home鍵,如下:
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
????@Override
? ? ?public boolean onKey(DialogInterface dialog,int keyCode, KeyEvent event) {
????????????switch (keyCode) {
????????????????case KeyEvent.KEYCODE_HOME:
????????????????????return true;
? ? ? ? ? ? ?}
????return false;
????}
});
單純這樣也是不能攔截的沃缘,所以在之前再添加一句代碼就行了躯枢。
dialog.getWindow().setFlags(0x80000000,0x80000000);
沒錯槐臀,就和activity中一樣水慨,只不過是dialog調(diào)用而已。