`

在项目中的一个activity中写很少的代码就可以关掉所有的已经打开的activity

 
阅读更多

     package com.shzzdddd.wms.service;

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

import android.app.Activity;

//然后用这个ActivityUtils来跟踪所有的activity


public class ActivityUtils {
private static final List<Activity> sActivityList = new ArrayList<Activity>();

private static boolean sProcessKilled = true;

public static boolean isProcessKilled() {
    return sProcessKilled;
}

public static void setProcessStarted() {
    sProcessKilled = false;
}

/***
* 在每个Activity的onCreate中调用,用来记录打开了的activity
*/
public static void addActivity(Activity act) {
sActivityList.add(act);
}

/***
* 在每个Activity的onDestroy中调用
*/
public static void removeActivity(Activity act) {
sActivityList.remove(act);
}

/***
* 结束所有的activity,并关闭程序的进程
*/
public static void exit() {
finishAll();
System.exit(0);
}

/***
* 结束所有的activity,但不会关闭程序的进程
*/
public static void finishAll() {
    for (Activity act : sActivityList) {
            act.finish();
        }  
        sActivityList.clear();
}

private ActivityUtils() {} // no instance
}



   最后只要在每个Activity中的onCreate()方法中写上:ActivityUtils.addActivity(this);然后就可以调用ActivityUtils的finishAll();
就这样,我们就可以随意的在某一个activity中关闭所有已打开的activity了,前提是要在你建立的每个activity中都调用那个。
分享到:
评论

相关推荐

    Bamboy右滑关闭Activity

    通过阅读和学习这个代码,你可以更好地理解如何在实际项目中实现"右滑关闭Activity"的功能。 总的来说,"Bamboy右滑关闭Activity"是Android应用中提升用户体验的一种常见技术,通过监听触摸事件和手势识别,结合...

    android 版 重写百思不得姐的app项目代码

    在Android开发中,"重写百思不得姐的app项目代码"是一个常见的实践,目的是学习和理解其设计思路,以及优化和个性化应用的功能。在这个项目中,主要关注的是图片处理和缓存机制,特别是对于gif图片的加载。下面将...

    Android应用源码安卓多功能手电筒项目.zip

    标题中的“Android应用源码安卓多功能手电筒项目”表明这是一个关于Android平台的开源应用程序,主要功能是实现一个多功能的手电筒。这类应用通常需要访问设备的摄像头或LED闪光灯来提供照明服务,并可能包含其他...

    新版Android开发教程.rar

    � 由于采用了 Java 作为应用开发语言,目前可用的传统第三方应用还很少,但由于 Android 是一款完全 开 源的移动计算平台,相信第三方应用会很快的丰富起来。 � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的...

    Activity Indicators for Modern C++.zip

    这个压缩包文件"Activity Indicators for Modern C++.zip"很可能包含了一些示例代码或者库,帮助开发者在他们的C++应用中实现这种视觉反馈机制。 在C++中,实现活动指示器可以涉及到多种技术,包括但不限于Qt、...

    data.zip项目安卓应用源码下载

    在安卓系统中,一个应用通常包含以下几个关键组件:Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器)、ContentProvider(内容提供者)以及Intent(意图)。这些组件协同工作,构建出功能完备的...

    一个基于Android studio开发的简易天气预报APP源码

    这个开源项目是一个基于Android Studio开发的简易天气预报应用程序。它为用户提供本地城市的实时天气信息,可能包括温度、湿度、风速、空气质量等关键指标。在深入探讨其技术细节之前,让我们先了解一下Android ...

    安卓Android源码——-整体UI设计(滑动导航栏+滚动页面).zip

    `Fragment`是Android中的一个组件,它可以作为Activity的一部分存在,提供更灵活的布局管理。在滑动导航栏中选择不同的选项时,对应的`Fragment`会被添加到主活动中,实现页面内容的替换。通过`FragmentManager`和`...

    Android技术面试资料整理

    - **standard**:这是默认的启动模式,每次启动一个新的Intent都会创建一个新的Activity实例,即使该Activity已经存在于任务栈中。 - **singleTop**:当Activity的实例位于任务栈顶部时,新的Intent会被传递给该...

    Android应用源码群发的我看你回不回项目.zip

    【Android应用源码群发的我看你回不回项目】是一个Android开发的实践案例,它可能涉及到了Android应用开发中的多个重要知识点。这个项目的名字暗示它可能是一个互动性较强的应用,比如消息推送或者社交功能,旨在...

    Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)

    Service可以在后台持续运行,即使启动它的Activity已经关闭。Service有两种形式:启动服务和绑定服务。 - **Content Provider**: Content Provider组件用于存储和检索数据,并为应用程序提供了一个统一的方式来访问...

    Android 手电筒源码.zip项目安卓应用源码下载

    在本项目中,我们关注的是一个基于Android平台的手电筒应用程序的源代码。这个源码提供了深入了解如何在Android系统上实现手电筒功能的机会,对于学生进行毕业设计、个人学习或者公司开发项目都有很大的参考价值。...

    小程序源码 基于Fragment实现Tab的切换,滑出侧边栏.zip

    在这个小程序中,可能会使用`ConstraintLayout`来实现更灵活的布局,确保Tab和侧边栏可以在不同尺寸的屏幕上正确显示。 5. **Activity与Fragment的交互**: Activity是Android应用的主要组件,它负责管理一个或多...

    安卓Android源码——自己在用的网络图片加载代码.rar

    通过深入研究这个开源项目,开发者可以学习到如何实现一个高效的图片加载库,如何优化图片的加载速度,以及如何在Android应用中有效地管理内存和网络资源。此外,也可以了解到如何利用Android的异步编程模型,如...

    Android面试题整理(很全面)[定义].pdf

    将Activity设置为窗口样式可以通过修改AndroidManifest.xml中的Activity定义,添加`android:theme`属性,并引用一个浮动窗口样式的风格资源。风格资源通常位于项目的res/values/styles.xml文件中,通过自定义样式来...

    Android:仿QQ 发表说说/上传照片 弹出框(修复bug)

    同时,项目中可能会包含一个ImageView,用于选择或预览上传的照片。这需要利用Intent调用系统相机或图库,通过ACTION_PICK或ACTION_IMAGE_CAPTURE启动相应的Activity。 其次,弹出框的实现通常采用DialogFragment...

    闪屏加退出提示应用.zip

    在Activity中,可以在onCreate()方法中设置布局,并设定一个定时器,在一段时间后自动跳转到主界面。此外,考虑到性能优化,可以利用SplashScreen库,它能确保在应用加载过程中展示闪屏页,同时避免额外的内存开销。...

    Android 4.0 Socket调试工具制作教程及源码

    通过以上步骤,你不仅可以掌握如何在Android中使用Socket进行网络通信,还能了解如何在多线程环境中处理网络操作,以及如何创建一个实用的Socket调试工具。不断实践和学习,将使你在Android开发之路上更加游刃有余。

    滑动开关按钮.zip

    开发者可以通过在布局XML文件中添加标签来创建一个滑动开关,然后通过Java代码进行进一步的定制和事件监听。 滑动开关的基本使用方法如下: 1. 在XML布局文件中声明Switch: ```xml android:id="@+id/switch_...

    android上面很流行的抽屉效果

    3. **代码实现**: 在Activity中,通过Java代码设置抽屉的行为,例如打开、关闭、监听抽屉状态变化等。可以使用`DrawerLayout`的`setDrawerListener`方法或`addDrawerListener`方法来添加监听器。 ```java ...

Global site tag (gtag.js) - Google Analytics