在android中如何实现在应用首页按两次返回键(back)退出应用
来源:互联网 发布:选装修公司 知乎 编辑:程序博客网 时间:2024/05/17 22:12
在很多应用中,我们经常可以看到这样一个功能,在应用的首页,如果你连续两次按返回键,系统提示,然后退出应用。淘宝,zaker等都有这样的功能。那他们是如何实现的呢。
其实主要是对按键事件进行监听,然后调用相应的逻辑处理代码来执行相应的操作。
以下是一个代码实现,供参考。
Activity代码:
主要是在主activity中重写 onKeyDown方法:
private long exitTime = 0; @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {if ((System.currentTimeMillis() - exitTime) > 2000) {toast("再按一次返回键退出程序");exitTime = System.currentTimeMillis();}else {//关闭首页finish();//完全退出应用killApp();}return true; //返回true表示执行结束不需要继续执行父类按键响应}return super.onKeyDown(keyCode, event);}
其中toast()和killApp()方法是我自己封装的方法。
代码如下:
/* * killApp() 关闭应用 * * 参数:无 * * 返回值:无 */public void killApp() {Process.killProcess(Process.myPid());}
/* * toast()提示信息 */public void toast (String msg) {Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();}
这里还有一种常规的实现,就是在首页按返回键,系统弹出一个退出对话框,点击确定,退出应用。这里也一并给出实现的代码。在onKeyDown方法的if判断逻辑里面调用即可。
/* * exitDialog() 退出系统对话框 */public void exitDialog() {AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setMessage(R.string.ExitMessage) .setCancelable(false) .setPositiveButton(R.string.Yes,new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubkillApp(); //退出应用}}) .setNegativeButton(R.string.Cancel,new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.cancel(); //关闭对话框}});AlertDialog alert = builder.create();alert.show();}
0 0
- 在android中如何实现在应用首页按两次返回键(back)退出应用
- android中如何实现连续点击返回键退出整个应用 android两次返回退出应用
- Android 两次按Back键退出应用
- android 实现按两次back键提示退出应用界面
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- android实现点击两次back键退出应用
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- Android按两次返回键退出应用
- android 按两次返回键退出应用
- Android 按两次返回键退出应用
- Android 按两次返回键退出应用
- Android中连续按两次返回键退出应用
- android 连按两次Back键退出应用
- make menuconfig配置文件解析
- 代理
- java serializable demo
- ofstream写、ifstream读
- Linux内核启动过程分析
- 在android中如何实现在应用首页按两次返回键(back)退出应用
- 十七周 被墨水污染的数字
- Linux引导过程内幕
- 双系统如何正确的删除Ubuntu
- PhoneGap(Cordova)之js调用本地native的方法 2
- 基于梯度调整的矩不变自动阈值图像分割算法
- Linux初始RAM磁盘介绍
- iOS中使用blend改变图片颜色
- 反射