需求:在程序的首页,连续按两次back键退出Androd程序。

第一步:新建一个GApplication类继承Application,在GApplication中添加一个用于存放Activity的集合属性List<Activity> activityList = new ArrayList<Activity>();,将GApplication在AndroidManifest.xml进行注册。

第二步:在你程序中自定义的每一个Activity中的onCreate方法中,将Activity本身赋值为activityList

例如:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.share_layout);
Gapplication.getInstance().activityList.add(this); }

第三部:此步是最重要的异步,上面两步是为他做铺垫的。代码如下:

/*连续单击两次back键退出系统*/
private long exitTime;
/*联系单击两次退出系统*/
@Override
public void onBackPressed() {
// super.onBackPressed();
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
if(Gapplication.getInstance().activityList.size() > 0){
for(int i=0;i<Gapplication.getInstance().activityList.size();i++){
if(Gapplication.getInstance().activityList.get(i) != null){
Gapplication.getInstance().activityList.get(i).finish();
} }
}
System.exit(0);
}
}

希望对大家有所帮助。

Android 连续按两次back键退出系统的更多相关文章

  1. Android 应用按两下返回键退出应用程序

    在android应用开发中,有时候应用会用到按两下返回键退出应用的功能,今天介绍一下这个功能,直接上代码: @Override public boolean dispatchKeyEvent(KeyE ...

  2. Android实现按两次back键退出应用

    重写onKeyDown()方法 System.currentTimeMillis():该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0 ...

  3. android连续点击两次返回键退出代码

    private long exitTime = 0; @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCo ...

  4. web测试误区:浏览器后退键退出系统会话失效

    通过最近测试的项目,认识到实际:浏览器后退键退出系统,会话仍旧有效.打破了之前认为浏览器后退键就会退出系统登录的认知. 一,了解Cookie和Session的作用,具体来说cookie机制采用的是在客 ...

  5. 【转】Android实现点击两次返回键退出

    在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序. 第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获 ...

  6. Android开发之点击两次Back键退出App

    Back按键的方法是onKeyDown()方法,重写该方法就可以改变back按键的作用. 实现点击两次Back按键退出app,有两种方法: 方法1. private static boolean is ...

  7. android开发:退出程序(对话框、两次返回键退出)

    private void exitDialog() { AlertDialog.Builder aa=new AlertDialog.Builder(this); aa.setTitle(" ...

  8. Android Toast 提示按两次返回键退出

    public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceS ...

  9. Flutter点击两次返回键退出APP

    在APP中一些页面为了防止用户操作失误点击到返回键导致退出APP,可以设置其一定时间内点击两次返回键才允许退出APP,完成这个功能可以通过WillPopScope和SystemNavigator.po ...

随机推荐

  1. python-组合模式

    源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 组合模式主要用来处理一类具有“容器特征”的对象——它们即充当对象又可以作为容器包 ...

  2. layui实现复选框全选,反选

    html <div class="layui-input-inline"> <input type="checkbox" class=&quo ...

  3. js-JavaScript常见的创建对象的几种方式

    1.通过Object构造函数或对象字面量创建单个对象 这些方式有明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码.为了解决这个问题,出现了工厂模式. 2.工厂模式 考虑在ES中无法创建类( ...

  4. promise的理解和应用

    老铁们,我又满血复活了,今天我准备来吹一波我对promise,如有错吴请直接指出,明白了吗?话不多说开始吧 首先我们需要知道啥叫promise,我问了问大佬,他说这个东西是 异步操作的同步代码(but ...

  5. 【代码笔记】iOS-获得现在的时间(2015-09-11)

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ...

  6. Js获取地址栏参数值

    function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...

  7. OSGI企业应用开发(二)Eclipse中搭建Felix运行环境

    上篇文章介绍了什么是OSGI以及使用OSGI构建应用的优点,接着介绍了两款常用的OSGI实现,分别为Apache Felix和Equinox,接下来开始介绍如何在Eclipse中使用Apache Fe ...

  8. m6c2g核心板使用笔记

    周立功官网资料下载链接:http://www.zlg.cn/ipc/down/down/id/84.html 平台:致远M6G2C-L Cortex-A7工控核心板 主要参考文档:EPC_loT_M6 ...

  9. linux查看某IP尝试连接成功和失败次数

    查看连接失败次数 cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2" ...

  10. C#多线程的用法10-线程池

    TheadPool:在进行多线程编程时,如果不想频繁的创建线程,那可以考虑使用使用线程池来完成多线程编程的工作.你只需将要处理的任务交付给ThreadPool,如果ThreadPool中有空闲的线程, ...