其实我觉得就是可以监听所有的按键操作
简单的使用:按返回键时,弹出对话框,而不是退出activity。
加入这个方法:(退出弹出对话框练习)
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(event.getKeyCode()==KeyEvent.KEYCODE_BACK){
new AlertDialog.Builder(this)
.setMessage("你确定退出吗")
.setNegativeButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setPositiveButton("再看看",null)
.show();
}
return true;
}
连续按两次退出练习:
private Handler handler=new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
if(msg.what==1){
exit=false;
}
}
};
public boolean exit=false;
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(!exit){
exit=true;
Toast.makeText(this,"确定退出吗?",Toast.LENGTH_SHORT).show();
handler.sendEmptyMessageDelayed(1,2000);
return true;
}
return super.onKeyUp(keyCode, event);
}