zoukankan      html  css  js  c++  java
  • Android 连续按两次back键退出系统

    需求:在程序的首页,连续按两次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);
                }
        }

    希望对大家有所帮助。

  • 相关阅读:
    报错处理
    MySQL8.0跟5.7分组查询表所有字段
    模拟开始时间、结束时间生成历史时间生成曲线模拟数据
    查询电脑登录过的WiFI账号密码
    Samba服务器架设
    CentOS安装GitLab
    申请域名并使用DDNS
    极路由4增强版(极企版)-刷潘多拉固件
    Git命令
    elasticsearch7.6.2 -canal1.1.4集成
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/android_double_back.html
Copyright © 2011-2022 走看看