天天看點

如何在Android App中屏蔽(攔截)Home按鍵及其他按鍵

編寫一個Acitivity,如下所示:

關鍵點1:屏蔽HOME按鍵,在onAttachedToWindow中設定FLAG_HOMEKEY_DISPATCHED

關鍵點2:屏蔽除Power , Home外的按鍵,覆寫dispatchKeyEvent方法,并傳回為true

public class LockByKeyGuard extends Activity {

       @Override

       public void onCreate(Bundle savedInstanceState) {

              super.onCreate(savedInstanceState);

              setContentView(R.layout.main);

       }

       @Override

       public void onAttachedToWindow() {

       //關鍵:在onAttachedToWindow中設定FLAG_HOMEKEY_DISPATCHED

              this.getWindow().addFlags(WindowManager.LayoutParams. FLAG_HOMEKEY_DISPATCHED);

              super.onAttachedToWindow();

       }

       @Override

       public boolean dispatchKeyEvent(KeyEvent event) {

              // 傳回true,不響應其他key

              return true;

       }