Android实现首次点击返回键提示信息,第二次点击退出应用
来源:互联网 发布:人脸识别用什么算法 编辑:程序博客网 时间:2024/05/14 13:33
要实现的效果如图:
代码很简单,复写onKeyDown方法,监听到back键的点击就初始化一个时间变量,并给出一个toast。当接下来一定时间内(我这里取的是1.5秒)再次有点击事件时,退出应用。
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ long secondClickBack = System.currentTimeMillis(); if(secondClickBack - firstClickBack >1500){ Toast.makeText(this, "再按一次退出每一天", 0).show(); firstClickBack = secondClickBack; return true; }else{ MyApplication.getInstance().exitApp(); return true; } } return super.onKeyDown(keyCode, event); }
注意上述代码中有个MyApplication.getInstance().exitApp();
执行这个的前提是实现自定义个MyApplication,代码在后面。
我们在每个Activity的onCreate()方法中调用MyApplication.addActivity方法将当前activity保存进去。等要退出应用时调用MyApplication.exitApp方法将所有activity都finish();
MyApplication代码如下:
package com.zsx.base;import java.util.ArrayList;import android.app.Activity;import android.app.Application;public class MyApplication extends Application { public static ArrayList<Activity> list; private static MyApplication myApp = null; //要保证每个Activity中使用的MyApplication都是同一个,就用到了单例模式 //单例模式:只有一个对象,也就是上面的那个myApp只实例化一次 //由于MyApplication继承自Application,复写的构造函数访问权限不能低于父类的,所以不能为private //所以我们在这里实现一个伪单例模式 public static MyApplication getInstance(){ if(myApp == null ){ myApp = new MyApplication(); list = new ArrayList<Activity>(); } return myApp; } /** * 添加activity到数组中 * @param activity */ public void addActivity(Activity activity){ list.add(activity); } /** * 退出应用,结束所有activity */ public void exitApp(){ for (Activity activity : list) { activity.finish(); } }}
0 0
- Android实现首次点击返回键提示信息,第二次点击退出应用
- Android实现两次点击返回键提示退出
- Android 实现两次点击返回键 提示退出
- Android 实现两次点击返回键 提示退出
- Android——实现两次点击返回键提示退出
- 【转载】Android实现点击两次返回键退出应用
- Android实现点击两次返回键退出应用
- android中如何实现连续点击返回键退出整个应用 android两次返回退出应用
- Android两次点击返回键退出应用
- android点击两侧返回键退出应用
- Android点击两次返回键退出应用
- Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- cocos2D-x 3.5 引擎解析之--引用计数(Ref),自动释放池(PoolManager),自动释放池管理器( AutoreleasePool)
- 关于机顶盒焦点的文章
- Java中调用c语言示例
- Android Native/Tombstone Crash Log 详细分析
- Utterance API
- Android实现首次点击返回键提示信息,第二次点击退出应用
- BZOJ 2525 Poi2011 Dynamite 二分答案+树形贪心
- 一项很有生命力的技术(Ajax)
- 无线报文简单分析
- D3D中D3DFVF_XYZ和D3DFVF_XYZRHW的区别
- BaseDataProcessor API
- Android Studio 1.2版本设置安装配置教程(window平台)
- vs2013—未解决问题—编写简单的图片下载程序
- 设计模式C++实现(12)——备忘录模式2