应用程序内部任意界面退出程序

简介: 创建工具类如下:package com.example.hxd.gittest;import android.app.Activity;import java.

创建工具类如下:

package com.example.hxd.gittest;

import android.app.Activity;

import java.util.ArrayList;
import java.util.List;

/**
 * 统一退出程序的操作
 */
class ActivitySetting {
    //创建集合存储打开的Activity
    static List<Activity> activityList = new ArrayList<>();

    //添加打开的Activity到集合
    static void addActivity(Activity activity) {
        activityList.add(activity);
    }

    //移除集合内部的Activity
    static void removeActivity(Activity activity) {
        activityList.remove(activity);
    }

    //关闭所有的Activity
    static void finishAllActivity() {
        for (Activity activity : activityList) {
            if (!activity.isFinishing()) {
                activity.finish();
                //杀死当前应用进程
                android.os.Process.killProcess(android.os.Process.myPid());
            }
        }
    }
}

在BaseActivity内部添加如下代码:

package com.example.hxd.gittest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class BaseActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_base);
        //添加当前操作的Activity到集合内部
        ActivitySetting.addActivity(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        //移除无用的Activity
        ActivitySetting.removeActivity(this);
    }
}

具体Activity内部代码如下:

  btnSecond.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //点击按钮退出程序,杀死进程
                ActivitySetting.finishAllActivity();
            }
        });
相关文章
|
12月前
|
机器学习/深度学习 自动驾驶 TensorFlow
深入理解卷积神经网络(CNN)在图像识别中的应用
【9月更文挑战第20天】本文旨在通过直观的解释和代码示例,向初学者介绍卷积神经网络(CNN)的基本概念及其在图像识别领域的应用。文章将首先解释什么是CNN以及它如何工作,然后通过一个简单的Python代码示例展示如何构建一个基本的CNN模型。最后,我们将讨论CNN在现实世界问题中的潜在应用,并探讨其面临的挑战和发展方向。
634 2
|
存储 Cloud Native 关系型数据库
PolarDB 并行查询问题之EXISTS子查询在并行查询中如何解决
PolarDB 并行查询问题之EXISTS子查询在并行查询中如何解决
70 1
|
XML ARouter 安全
Navigation — 这么好用的导航框架你确定不来看看?
从最原始的Intent跳转,然后到比较好用的Arouter管理activity跳转,再到现在的navigation,官方都把饭做好了,你还不来吃,快来和我一起学习这个真香的框架吧!
|
安全 数据安全/隐私保护 开发者
CDN 设置防盗链及使用鉴权功能| 学习笔记
快速学习 CDN 设置防盗链及使用鉴权功能。
|
存储 SQL 算法
列式存储与数据压缩
列式存储与数据压缩
725 0
|
Cloud Native 架构师 Devops
为什么团队规模越大,发布反而慢了 | 学习笔记
快速学习为什么团队规模越大,发布反而慢了
为什么团队规模越大,发布反而慢了 | 学习笔记
|
缓存 数据库 数据安全/隐私保护
Shiro自定义Realm实现认证和授权(五)上
Shiro自定义Realm实现认证和授权(五)
419 0
Shiro自定义Realm实现认证和授权(五)上
|
运维 Kubernetes Cloud Native
无处不在的 Kubernetes ,难用的问题解决了吗?
容器和 Kubernetes 已经成为云原生时代主流的选择,但实际落地的时候,却陷入了困境。在容器技术的演进过程中,我们发现了不少能够降低容器编排门槛的开源项目和商业化产品,本文将为您介绍。
214 0
|
Java
2.2.2 类反射场景与使用 -《SSM深入解析与项目实战》
2.2.2 类反射场景与使用 -《SSM深入解析与项目实战》
1029 0

热门文章

最新文章