Android双击返回键退出程序的实现方法
作者:shichen2014 时间:2022-06-01 01:28:28
本文实例讲述了Android双击返回键退出程序的实现方法,是Android程序开发中一个非常实用的功能,分享给大家供大家参考之用。具体方法如下:
一、实现思路:
用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态。定时器是每次用户按下返回键才去创建。
二、功能代码:
/**
* 菜单、返回键响应
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_BACK)
{
exitBy2Click(); //调用双击退出函数
}
return false;
}
/**
* 双击退出函数
*/
private static Boolean isExit = false;
private void exitBy2Click() {
Timer tExit = null;
if (isExit == false) {
isExit = true; // 准备退出
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
tExit = new Timer();
tExit.schedule(new TimerTask() {
@Override
public void run() {
isExit = false; // 取消退出
}
}, 2000); // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
} else {
finish();
System.exit(0);
}
}
上述代码中的onKeyDown()函数可以在菜单栏Source->Override/Implement Methods里找到,双击即可自动添加到代码中。
希望本文所述对大家的Android程序设计有所帮助。
标签:Android,双击,退出程序
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#中实现Json序列化与反序列化的几种方式
2021-11-06 01:31:07
![](https://img.aspxhome.com/file/2023/5/71065_0s.png)
Java中常用时间的一些相关方法
2022-02-06 11:33:38
java实现简单的加减乘除计算器
2022-11-14 01:25:59
![](https://img.aspxhome.com/file/2023/9/72599_0s.jpg)
浅谈Synchronized和Lock的区别
2023-10-26 04:28:33
Spring @Retryable注解轻松搞定循环重试功能
2022-12-17 06:07:51
Spring Boot整合Spring Data JPA过程解析
2023-08-23 00:12:27
Unity Shader实现玻璃材质效果
2021-10-27 05:25:29
![](https://img.aspxhome.com/file/2023/7/77227_0s.jpg)
SpringMvc后台接收json数据中文乱码问题详解
2022-12-03 00:08:58
java通过AES生成公钥加密数据ECC加密公钥
2023-08-04 10:09:53
![](https://img.aspxhome.com/file/2023/6/84196_0s.png)
C#命令模式用法实例
2021-10-21 12:46:02
Spring Security角色继承分析
2022-02-03 03:39:12
使用Docker搭建Java环境的步骤方法
2022-09-07 16:03:59
![](https://img.aspxhome.com/file/2023/3/80303_0s.png)
详解Java线程-守护线程与用户线程
2023-11-25 00:17:29
Java数据结构及算法实例:冒泡排序 Bubble Sort
2022-10-17 08:39:45
C#中判断、验证字符串是否为日期格式的实现代码
2021-06-05 01:57:26
详解C#中的System.Timers.Timer定时器的使用和定时自动清理内存应用
2022-11-07 14:09:54
IDEA中Spring项目的工程构建
2023-07-20 13:36:48
![](https://img.aspxhome.com/file/2023/6/72536_0s.jpg)
Android Shape属性创建环形进度条
2021-08-02 09:03:08
![](https://img.aspxhome.com/file/2023/4/94274_0s.gif)
springboot自定义starter方法及注解实例
2022-11-02 10:52:08
![](https://img.aspxhome.com/file/2023/7/71607_0s.jpg)
C#微信公众号开发之使用MessageHandler简化消息处理流程
2022-04-12 12:12:34