方法一 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // 用来计算返回键的点击间隔时间 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(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); } return true; } return super.onKeyDown(keyCode, event); } |
来自CODE的代码片
Android-实现两次点击返回键-提示退出.txt
方法二
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // 定义一个变量,来标识是否退出 private static boolean isExit = false; Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); isExit = false; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } return super.onKeyDown(keyCode, event); } private void exit() { if (!isExit) { isExit = true; Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); // 利用handler延迟发送更改状态信息 mHandler.sendEmptyMessageDelayed(0, 2000); } else { finish(); System.exit(0); } } |
来自CODE的代码片
- Android(安卓)Activity界面切换添加动画特效
- Android(安卓)触摸提示音
- Android开发——Android搜索框架(二)
- Android(安卓)Activity界面切换添加动画特效
- android插件汇总
- Android(安卓)Activity界面切换添加动画特效
- AndRoid完全退出程序
- Android(安卓)返回键连续点击两次退出应用
- Android原生弹框的工具类AlertDialog,Dialog
随机推荐
-
Android 开发者 | 应用兼容性注意事项
-
【转】关于Android体系架构和开发库的部
-
android Kotlin 委托
-
Android(安卓)使用junit测试
-
android多微博客户端Cuckoo
-
Android Tv 背景动态改变,带过渡效果
-
基于Android的校园快递系统_移动端设计_
-
android实现分享给好友功能
-
Android面试系列文章2018之Android部分之
-
Eclipse & Android(安卓)模拟器快捷键