1.按两次物理返回键退出程序
private Handler mHandler=new Handler(){
public void
handleMessage(Message msg){
super.handleMessage(msg);
//标记用户不要退出状态
isExit=false;
}
};
public
boolean onKeyDown(int keyCode,KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_BACK){
//如果isexit标记为false,提示用户再次按键
if(!isExit){
isExit=true;
Toast.makeText(getApplicationContext(), "在按一次退出程序",
Toast.LENGTH_SHORT).show();
//如果用户没有在2秒内再次按返回按键,就认为用户为不退出
mHandler.sendEmptyMessageDelayed(0, 2000);
}else{
finish();
System.exit(0);
}
}
return false;
}
{
if (keyCode == KeyEvent.KEYCODE_BACK )
{
// 创建退出对话框
AlertDialog isExit = new
AlertDialog.Builder(this).create();
// 设置对话框标题
isExit.setTitle("系统提示");
// 设置对话框消息
isExit.setMessage("确定要退出吗");
//
添加选择按钮并注册监听
isExit.setButton("确定", listener);
isExit.setButton2("取消", listener);
// 显示对话框
isExit.show();
}
return false;
}
DialogInterface.OnClickListener listener = new
DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int
which)
{
switch
(which)
{
case
AlertDialog.BUTTON_POSITIVE:// "确认"按钮退出程序
finish();
break;
case
AlertDialog.BUTTON_NEGATIVE:// "取消"第二个按钮取消对话框
break;
default:
break;
}
}
};
2.按物理返回键弹出退出对话框:
public boolean onKeyDown(int keyCode, KeyEvent event)