編寫一個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;
}