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

第一种实现的基本原理就是,当按下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
相关文章:
制作网站公司那家好,网络公司是做什么的?
建站之星logo尺寸如何设置最合适?
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何通过wdcp面板快速创建网站?
代刷网站制作软件,别人代刷火车票靠谱吗?
seo网站制作优化,网站SEO优化步骤有哪些?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
公司门户网站制作流程,华为官网怎么做?
如何通过远程VPS快速搭建个人网站?
如何规划企业建站流程的关键步骤?
太原网站制作公司有哪些,网约车营运证查询官网?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
建设网站制作价格,怎样建立自己的公司网站?
创业网站制作流程,创业网站可靠吗?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何快速辨别茅台真假?关键步骤解析
高防服务器:AI智能防御DDoS攻击与数据安全保障
制作宣传网站的软件,小红书可以宣传网站吗?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
建站之星备案流程有哪些注意事项?
如何通过智能用户系统一键生成高效建站方案?
如何挑选高效建站主机与优质域名?
建站上传速度慢?如何优化加速网站加载效率?
大连 网站制作,大连天途有线官网?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
北京网站制作公司哪家好一点,北京租房网站有哪些?
linux top下的 minerd 木马清除方法
如何注册花生壳免费域名并搭建个人网站?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
建站之星安装后如何自定义网站颜色与字体?
浅析上传头像示例及其注意事项
如何在云主机上快速搭建网站?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何将凡科建站内容保存为本地文件?
活动邀请函制作网站有哪些,活动邀请函文案?
,石家庄四十八中学官网?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
如何有效防御Web建站篡改攻击?
建站之星后台密码遗忘或太弱?如何重置与强化?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
建站为何优先选择香港服务器?
常州自助建站费用包含哪些项目?
表情包在线制作网站免费,表情包怎么弄?
如何在Windows服务器上快速搭建网站?
如何快速重置建站主机并恢复默认配置?
C++时间戳转换成日期时间的步骤和示例代码
青浦网站制作公司有哪些,苹果官网发货地是哪里?
*请认真填写需求信息,我们会在24小时内与您取得联系。