Android开发之点击两次Back键退出App
2015-07-09 14:05
344 查看
Back按键的方法是onKeyDown()方法,重写该方法就可以改变back按键的作用。
实现点击两次Back按键退出app,有两种方法:
方法1.
方法2.
实现点击两次Back按键退出app,有两种方法:
方法1.
private static boolean isAppExit=false; //定义一个变量,标示是否退出 private static Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); isAppExit = false; } };
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { //重写onKeyDown()方法 // TODO Auto-generated method stub if (keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0) { exit(); return true; } return super.onKeyDown(keyCode, event); } private void exit() { if (!isAppExit) { isAppExit = true; Toast.makeText(getApplicationContext(), "再按一次后退键退出程序", Toast.LENGTH_SHORT).show(); // 利用handler延迟发送更改状态信息 mHandler.sendEmptyMessageDelayed(0, 2000); } else { this.finish(); } }
方法2.
private long clickTime = 0; //记录第一次点击的时间 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return true; } return super.onKeyDown(keyCode, event); } private void exit() { if ((System.currentTimeMillis() - clickTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次后退键退出程序", Toast.LENGTH_SHORT).show(); clickTime = System.currentTimeMillis(); } else { Log.e(TAG, "exit application"); this.finish(); } }
相关文章推荐
- Swift教程之元组类型
- Swift教程之NSDictionary
- 【Swift学习ing】之 UIView动画(基础篇)
- Swift教程之NSArray
- Android Bitmap基本介绍
- [Objective-C] alloc和init要嵌套写而不要分开写
- 如何使用Unity制作虚拟导览(五)
- app与server联系
- 如何使用Unity制作虚拟导览(四)
- 如何使用Unity制作虚拟导览(三)
- AndroidStudio导入libary源码
- 浅尝Unity 3D的Asset Bundle知识(三)-----导入资源篇
- 关于android屏幕适配的问题(drawable-xxxxxxxx,dp,sp,px等等),偶尔看到了android源码,关于dpi的区分的值
- AndroidManifest.xml——permission-tree
- 如何使用Unity制作虚拟导览(二)
- 如何使用Unity制作虚拟导览(一)
- Android中改变一个图片的透明度
- 使Android 自带SDK 完美支持HTML5 之 html5webview
- cocos2dx android 环境报错 记录
- AndroidManifest.xml——permission-group