有些功能需要用户点击了back键,增加一些逻辑,比如确认要退出吗?
这个时候可以在活动中重写onKeyDown方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
new AlertDialog.Builder(this)
.setMessage("确定退出系统吗?")
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
}
})
.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
finish();
}
}).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
//使back键失效
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Toast.makeText(this,"你点击了返回,哎,返回不了,气不气",Toast.LENGTH_SHORT).show();
return true;
}
return super.onKeyDown(keyCode, event);
}