方式一:

/**
*重写onKeyDown,实现再按一次退出程序,如果两次点击时间超过三秒则提示"再按一次退出程序"
*/
privatelongtouchTime=0;
@Override
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getAction()==KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-touchTime)>3000){
Toast.makeText(getApplicationContext(),"再按一次退出程序",Toast.LENGTH_SHORT).show();
touchTime=System.currentTimeMillis();
}else{
finish();
System.exit(0);
}
returntrue;
}
returnsuper.onKeyDown(keyCode,event);
方式二:

/**
*重写onKeyDown,实现按第二次返回键必退出程序
*/
privatebooleanisexit=false;
@Override
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){
if(isexit){
finish();
}else{
isexit=true;
Toast.makeText(DairyMenuActivity.this,"再按一次退出程序",Toast.LENGTH_SHORT).show();
}
returnfalse;
}
returnfalse;
}

方式三:

/**
*重写onKeyDown,实现根据提示退出程序
*/
@Override
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){
exitdialog();
returnfalse;
}
returnfalse;
/**
*根据提示退出程序dialog
*/
protectedvoidexitdialog(){
AlertDialog.Builderbuilder=newBuilder(DairyMenuActivity.this);
builder.setMessage("确定要退出吗?");
builder.setTitle("温馨提示:");
builder.setPositiveButton("确认",
newandroid.content.DialogInterface.OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
dialog.cancel();
DairyMenuActivity.this.finish();
}
});
builder.setNegativeButton("取消",
newandroid.content.DialogInterface.OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
dialog.cancel();
}
});
builder.create().show();
}

更多相关文章

  1. Android(安卓)bitmap序列化
  2. android中两种方式打开网页
  3. android-Camera.AutoFocusMoveCallback
  4. Android开机启动动画
  5. 如何判断Android/IOS是否安装应用。
  6. Android(安卓)常用代码片小结
  7. android中控件公用产生的冲突的解决办法
  8. (Android) ContentProvider 实例
  9. 安装APK文件的错误码定义

随机推荐

  1. 表单与css
  2. 念念不忘,必有回响!6月更文活动的一些总结
  3. css选择器与用户表单制作
  4. 简单的注册和模块+CSS选择器
  5. 浅谈对http协议的理解
  6. 案例表格的应用
  7. 实战简单的注册表单以及选择器的认识
  8. 前端作业-CSS1
  9. 表单以及选择器
  10. 注册表单、基本选择器及上下文选择器