一般都是在MainPage重写按键监听。
方法有两种:
- Android所有版本通用:重写
public boolean onKeyDown(int keyCode, KeyEvent event)
- Android API Level 5以上可用:重写
public void onBackPressed()
1 public boolean onKeyDown(int keyCode, KeyEvent event) { 2 // 按下键盘上返回按钮 3 if (keyCode == KeyEvent.KEYCODE_BACK) { 4 new AlertDialog.Builder(this) 5 .setTitle("提示") 6 .setMessage("离开窝窝?") 7 .setNegativeButton("取消", 8 new DialogInterface.OnClickListener() { 9 public void onClick(DialogInterface dialog, int which) { 10 11 } 12 }) 13 14 .setPositiveButton("确定", 15 new DialogInterface.OnClickListener() { 16 public void onClick(DialogInterface dialog, int whichButton) { 17 finish(); 18 } 19 }) 20 .show(); 21 return true; 22 } 23 else { 24 return super.onKeyDown(keyCode, event); 25 } 26 }
1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) { 3 if (keyCode == KeyEvent.KEYCODE_BACK) {//KeyEvent.KEYCODE_BACK即是back键对应的code 4 //do something 5 return true;//返回true表示该事件已被处理,不会再传递到次级监听者;返回false表示该事件还没有被处理完,会继续传递给其他监听者 6 } 7 return false;//如果按下的是其他按键则直接返回false表示该事件没有处理。 8 }