Android两次后退键退出
转载请注明出处:http://blog.csdn.net/javacattle/article/details/41964045
private int back = 0; //===============back两次退出=====================
@Override
public boolean onCreateOptionsMenu(Menu menu) {//必要的改变
menu.add(0, 2, 2, "退出");
return super.onCreateOptionsMenu(menu);
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 2:
Myback();
break;
}
return super.onOptionsItemSelected(item);
} @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {//两次back退出
if (keyCode == KeyEvent.KEYCODE_BACK) {
back++;
switch (back) {
case 1:
Toast.makeText(MainActivity.this, "再按一次退出",
Toast.LENGTH_SHORT).show();
break;
case 2:
back = 0;// 初始化back值
Myback();
break;
}
return true;// 设置成false让back失效 ,true表示 不失效
} else {
return super.onKeyDown(keyCode, event);
}
} public void Myback() { // 关闭程序
MainActivity.this.finish();
android.os.Process.killProcess(android.os.Process.myPid());// 关闭进程
}
private int tDifference = 2000;//等待的时间
private boolean isExit = false; //状态
private Timer mTicker = null;//定义Timer时间器
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {// 两次back退出
if (keyCode == KeyEvent.KEYCODE_BACK) {
Myback();
return true;
} else {
return super.onKeyDown(keyCode, event);
} } public void Myback() { // 关闭程序
if(isExit){
MainActivity.this.finish();
android.os.Process.killProcess(android.os.Process.myPid());// 关闭进程
}else{
Toast.makeText(MainActivity.this, "再按一次退出", Toast.LENGTH_SHORT).show();
isExit = !isExit;
if(null == mTicker){
mTicker = new Timer();
}
mTicker.schedule(new TimerTask() {
@Override
public void run() {//改变标识
isExit = false; }
},tDifference );
}
}
Android两次后退键退出的更多相关文章
- Apicloud 之按两次后退键退出应用
api.addEventListener({ name: 'keyback' }, function(ret, err) { if (flag == 1) { api.closeWidget({ si ...
- Android 应用按两下返回键退出应用程序
在android应用开发中,有时候应用会用到按两下返回键退出应用的功能,今天介绍一下这个功能,直接上代码: @Override public boolean dispatchKeyEvent(KeyE ...
- Android 按二次后退键退出应用程序
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- Android 连续按两次back键退出系统
需求:在程序的首页,连续按两次back键退出Androd程序. 第一步:新建一个GApplication类继承Application,在GApplication中添加一个用于存放Activity的集合 ...
- web测试误区:浏览器后退键退出系统会话失效
通过最近测试的项目,认识到实际:浏览器后退键退出系统,会话仍旧有效.打破了之前认为浏览器后退键就会退出系统登录的认知. 一,了解Cookie和Session的作用,具体来说cookie机制采用的是在客 ...
- 按后退键退出Android程序
主要的目的是按后退键的时候,让程序能够退出. 实现起来的思路: 1.捕获后退键被按了这个事件. Java代码 @Override public boolean onKeyDown(int keyCo ...
- 【转】Android实现点击两次返回键退出
在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序. 第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获 ...
- Android开发之点击两次Back键退出App
Back按键的方法是onKeyDown()方法,重写该方法就可以改变back按键的作用. 实现点击两次Back按键退出app,有两种方法: 方法1. private static boolean is ...
- Android Toast 提示按两次返回键退出
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceS ...
随机推荐
- python爬取人民币汇率中间价
python爬取人民币汇率中间价,从最权威的网站中国外汇交易中心. 首先找到相关网页,解析链接,这中间需要经验和耐心,在此不多说. 以人民币兑美元的汇率为例(CNY/USD),脚本详情如下: wind ...
- [APIO2007]动物园 --- 状压DP
[APIO2007]动物园 题目描述 新建的圆形动物园是亚太地区的骄傲.圆形动物园坐落于太平洋的一个小岛上,包含一大圈围栏,每个围栏里有一种动物. 如下图所示: 你是动物园的公共主管.你要做的是,让每 ...
- [BZOJ4338][BJOI2015]糖果(扩展Lucas)
先求出式子$P_{C_{K+m-1}^{m}}^{n}$,然后对于排列直接$O(n)$求解,对于组合用扩展Lucas求解. 但这题数据并没有保证任何一个模数的质因子的$p^k$在可线性处理的范围内,于 ...
- java--由一道选择题研究数值越界
原题来自牛客网的java专项练习: 以下是代码. public class Test2 { public static void add(Byte b) { b=b++; } public stati ...
- [ARC051D]長方形
[ARC051D]長方形 题目大意: 给定\(A_{1\sim n}\)和\(B_{1\sim m}(n,m\le2000,|A_i|,|B_i|\le10^5)\),矩阵\(C_{i,j}=A_i+ ...
- [GCJ2017R3]Cooclement
题目大意: 一种数列按照如下方式变化: 新数列第i位等于原数中数字i的出现次数. 变化过程中数列长度不变. 例如数列12的变化过程为12-11-20-01-10. 现在告诉你一个数列x,请求出x可能是 ...
- java下划线与驼峰命名互转
方式一: 下划线与驼峰命名转换: public class Tool { private static Pattern linePattern = Pattern.compile("_(\\ ...
- SpringBoot 解决时区问题
SpringBoot 解决时区问题 1.在启动类加上 @PostConstruct void setDefaultTimezone() { TimeZone.setDefault(TimeZone.g ...
- spoj4155 OTOCI LCT
动态树,支持加边,修改点权,查询链的点权和. #include <cstdio> #include <iostream> #define maxn 30010 using na ...
- c# -- 实现浏览功能(备忘)
最近在做系统的时候,要实现浏览功能,但是由于本人记性一般,每次写完就忘,所以还是写篇随笔,备忘一下,方便以后查看@_@# 实现功能大概如下: 按钮1:点击浏览按钮后,选择文件(类型为.txt),默认位 ...