在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序。

第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获,判断是BACK键,则执行exit方法。
在exit方法中,会首先判断isExit的值,如果为false的话,则置为true,同时会弹出提示,并在2000毫秒(2秒)后发出一个消息,在Handler中将此值还原成false。如果在发送消息间隔的2秒内,再次按了BACK键,则再次执行exit方法,此时isExit的值已为true,则会执行退出的方法。
package com.gaolei.exitdemo;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
import android.widget.Toast;
public class MainActivity extends Activity {
// 定义一个变量,来标识是否退出
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);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android点击两次返回键退出
# Android点击返回键退出
# Android返回键退出
# Android开发实现Fragment监听返回键事件功能的方法
# Android 拦截返回键事件的实例详解
# Android 实现按两次返回键退出程序(两种方法)
# android PopupWindow点击外部和返回键消失的解决方法
# Android使alertDialog.builder不会点击外面和按返回键消失的方法
# Android开发返回键明暗点击效果的实例代码
# 按下
# 是在
# 两次
# 并在
# 弹出
# 将此
# 则会
# 第一种
# 为了防止
# 大家多多
# 再按
# 已为
# 基本原理
# 按了
# 应用程序
# 同时会
# 发送消息
# class
# java
# os
相关文章:
如何快速搭建安全的FTP站点?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
ui设计制作网站有哪些,手机UI设计网址吗?
如何快速生成ASP一键建站模板并优化安全性?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
制作网页的网站有哪些,电脑上怎么做网页?
如何快速搭建高效服务器建站系统?
外贸公司网站制作哪家好,maersk船公司官网?
广平建站公司哪家专业可靠?如何选择?
建站之星24小时客服电话如何获取?
建站主机如何选?性能与价格怎样平衡?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
网站制作费用多少钱,一个网站的运营,需要哪些费用?
如何通过西部数码建站助手快速创建专业网站?
建站之星2.7模板:企业网站建设与h5定制设计专题
如何通过二级域名建站提升品牌影响力?
建站OpenVZ教程与优化策略:配置指南与性能提升
黑客如何利用漏洞与弱口令入侵网站服务器?
如何在云虚拟主机上快速搭建个人网站?
制作门户网站的参考文献在哪,小说网站怎么建立?
如何快速辨别茅台真假?关键步骤解析
建站之星后台密码如何安全设置与找回?
文字头像制作网站推荐软件,醒图能自动配文字吗?
黑客如何通过漏洞一步步攻陷网站服务器?
香港网站服务器数量如何影响SEO优化效果?
青岛网站建设如何选择本地服务器?
Android自定义listview布局实现上拉加载下拉刷新功能
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
如何快速生成可下载的建站源码工具?
常州自助建站费用包含哪些项目?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
临沂网站制作企业,临沂第三中学官方网站?
如何通过云梦建站系统实现SEO快速优化?
西安大型网站制作公司,西安招聘网站最好的是哪个?
寿县云建站:智能SEO优化与多行业模板快速上线指南
网站制作知乎推荐,想做自己的网站用什么工具比较好?
如何在阿里云购买域名并搭建网站?
建站主机如何选?高性价比方案全解析
浅谈Javascript中的Label语句
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
网站专业制作公司有哪些,做一个公司网站要多少钱?
如何高效利用亚马逊云主机搭建企业网站?
c# 在ASP.NET Core中管理和取消后台任务
建站之星伪静态规则如何正确配置?
高防服务器:AI智能防御DDoS攻击与数据安全保障
建站之星云端配置指南:模板选择与SEO优化一键生成
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
*请认真填写需求信息,我们会在24小时内与您取得联系。