android 点击返回键退出程序的方法


第一种: 再按一次返回键退出程序

privatelongexitTime=0;

@Override
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getAction()==KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime)>2000){
Toast.makeText(getApplicationContext(),"再按一次退出程序",Toast.LENGTH_SHORT).show();
exitTime=System.currentTimeMillis();
}else{
finish();
System.exit(0);
}
returntrue;
}
returnsuper.onKeyDown(keyCode,event);
}


或者

private long exitTime = 0;


@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次退出程序!", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}


return super.dispatchKeyEvent(event);
}



第二种:点击返回键弹出确定窗口 选择退出

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
//具体的操作代码
new AlertDialog.Builder(this)


.setTitle("确定退出程序么")



.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {
}

})

.setPositiveButton("确定", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

finish();//

}

}).show();

return true;

}
return super.dispatchKeyEvent(event);
}

更多相关文章

  1. android弹出对话框大全
  2. android动态给view设置可见、不可见属性
  3. Android
  4. Android(安卓)SDCard操作(文件读写,容量计算)
  5. Android: Android(安卓)Touch事件处理
  6. Android完全退出应用程序
  7. android之无返回结果跳转intent
  8. android权限管理
  9. android之线性布局LinearLayout以及weight权重使用

随机推荐

  1. 对于有3亿多万条记录的MySQL表,有哪些优化
  2. centos7 移动mysql5.7.19 数据存储位置
  3. MySQL5 LOAD DATA 的使用
  4. 【数据库管理工具】Navicat安装及使用教
  5. 电商平台的搭建(SpringMVC+SpringSecurity
  6. mysql数据库100万条数据插入采用jdbc的各
  7. MySQL内核解析:Innodb页面存储结构-1
  8. 在分组之前使用orderby来自两个不同的表
  9. MySQL中一些查看事务和锁情况的常用语句
  10. Netbeans6.1+JSF/VJSF/+JPA+MYSQL=酷炫快