1. 按返回键后,弹出对话框,让用户选择

   @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        // TODO Auto-generated method stub        switch (keyCode) {            case KeyEvent.KEYCODE_BACK:                AlertDialog.Builder build = new AlertDialog.Builder(this);                build.setTitle("注意")                        .setMessage("确定要退出吗?")                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialog, int which) {                                // TODO Auto-generated method stub                                finish();                            }                        })                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialog, int which) {                                // TODO Auto-generated method stub                            }                        })                        .show();                break;            default:                break;        }        return false;    }

2. 按返回键后,弹出 Toast  提示 ,再按一次退出程序

  private long exitTime = 0;    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_BACK                && event.getAction() == KeyEvent.ACTION_DOWN) {            if ((System.currentTimeMillis() - exitTime) > 2000) {               Toast.makeText(MainActivity.this,"再按一次退出程序",Toast.LENGTH_SHORT).show();                exitTime = System.currentTimeMillis();            } else {                finish();                System.exit(0);            }            return true;        }        return super.onKeyDown(keyCode, event);    }
在这里要说明一下:

(1)不要忘记,这个方法是重写的

(2)对于初学者来说,有的同学会只添加这段代码,就会按完之后返回登录或注册页面,这个原因就是没有在 登录 或注册页面里 finish() ,这样登录注册还是在任务栈里面,对于这块,我建议有想法的人,可以了解一下activity的四种加载模式,这块就会更加理解了。

如有什么不足,请多多指教,  欢迎大家转载。

更多相关文章

  1. android事件分发机制一
  2. android 按钮置灰效果
  3. Android四大组件Service之bindService启动
  4. Android:利用SharedPreferences实现自动登录
  5. android flutter打包 apk 及接facebook 及google登录的密钥生成
  6. android.database.CursorIndexOutOfBoundsException:Index -1 re
  7. Android(安卓)编程下 Touch 事件的分发和消费机制
  8. android之有返回结果跳转intent
  9. Android中文API(128) —— HandlerThread

随机推荐

  1. 使用来自相同表注释的两个外键来休眠
  2. [实战]MVC5+EF6+MySql企业网盘实战(27)—
  3. 如何在SQL查询中显示特定范围的数字
  4. 从零开始搭建框架SSM+Redis+Mysql(二)之MAV
  5. MySQL中find_in_set的用法(某个字段包含某
  6. mysql-proxy实现读写分离
  7. 保存在Java桌面应用程序应用程序和网站上
  8. PHP : mysqli【面向对象】操作数据库【连
  9. 通过PHP运行CREATE TABLE查询
  10. Mysql 增加外键,删除主外键关联表