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

第一种实现的基本原理就是,当按下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
相关文章:
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
如何高效配置香港服务器实现快速建站?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
如何在景安云服务器上绑定域名并配置虚拟主机?
如何快速重置建站主机并恢复默认配置?
大型企业网站制作流程,做网站需要注册公司吗?
高防服务器租用指南:配置选择与快速部署攻略
建站之星北京办公室:智能建站系统与小程序生成方案解析
兔展官网 在线制作,怎样制作微信请帖?
建站之星如何实现PC+手机+微信网站五合一建站?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
c# 在高并发场景下,委托和接口调用的性能对比
建站之星官网登录失败?如何快速解决?
建站VPS配置与SEO优化指南:关键词排名提升策略
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
如何在阿里云通过域名搭建网站?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
代刷网站制作软件,别人代刷火车票靠谱吗?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
,巨量百应是干嘛的?
html制作网站的步骤有哪些,iapp如何添加网页?
如何快速搭建虚拟主机网站?新手必看指南
如何选择PHP开源工具快速搭建网站?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
如何打造高效商业网站?建站目的决定转化率
,购物网站怎么盈利呢?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何通过VPS建站实现广告与增值服务盈利?
PHP正则匹配日期和时间(时间戳转换)的实例代码
如何破解联通资金短缺导致的基站建设难题?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
制作门户网站的参考文献在哪,小说网站怎么建立?
个人网站制作流程图片大全,个人网站如何注销?
定制建站策划方案_专业建站与网站建设方案一站式指南
建站之星如何开启自定义404页面避免用户流失?
制作网站的基本流程,设计网站的软件是什么?
如何高效搭建专业期货交易平台网站?
C#如何使用XPathNavigator高效查询XML
网站制作报价单模板图片,小松挖机官方网站报价?
如何快速搭建个人网站并优化SEO?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
定制建站流程解析:需求评估与SEO优化功能开发指南
如何快速搭建响应式可视化网站?
定制建站哪家更专业可靠?推荐榜单揭晓
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
javascript中的try catch异常捕获机制用法分析
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
*请认真填写需求信息,我们会在24小时内与您取得联系。