文档章节

【Android】Android开发之Activity的管理类,结束关闭指定的Activity,单例模式封装

程序员小冰
 程序员小冰
发布于 2016/10/27 21:45
字数 491
阅读 146
收藏 0

作者:程序员小冰,GitHub主页:https://github.com/QQ986945193
新浪微博:http://weibo.com/mcxiaobing

长期维护的Android项目,里面包括常用功能实现,以及知识点详解,
当然还有Java中的知识点。具体请看github:

https://github.com/QQ986945193/DavidAndroidProjectTools

说明,当我们需要结束某一个activity时,就可以用到此工具类,结束任何指定的activity均可。当然也可以用其它方法,我封装了一个这样的工具类。你也可以用得到。代码比较简单,使用起来也比较简单。为什么叫做activity的管理类呢,所以,你要管理某个activity时,前提需要某个activity添加进去,不然是没法管理的,添加很简单。只需要调用下面这一行代码即可:

 ActivityManagerUtils.getInstance().addActivity(this);

这样我们就可以管理这个类了。比如结束当前activity可以调用:

                    ActivityManagerUtils.getInstance().finishActivity(SystemAppFourMethodActivity.this);

当然我们也可以结束关闭不是当前的activity,代码如下:

                    ActivityManagerUtils.getInstance().finishActivityclass(SystemAppFourMethodActivity.class);

好了,用法到此结束,下面是activity的管理类的代码,大家可以直接粘贴到自己的项目当中即可。

package davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.utils;


import android.app.Activity;

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

/** * @author :程序员小冰 * @新浪微博 :http://weibo.com/mcxiaobing * @GitHub: https://github.com/QQ986945193 * @CSDN博客: http://blog.csdn.net/qq_21376985 * @交流Qq :986945193 * 类名:activity的管理类 */
public class ActivityManagerUtils {
    private static ActivityManagerUtils mActivityManagerUtils;


    static {
        mActivityManagerUtils = new ActivityManagerUtils();
    }

    private ActivityManagerUtils() {
        /** * 这里面写一些需要执行初始化的工作 */
    }

    public static ActivityManagerUtils getInstance() {
        return mActivityManagerUtils;

    }

    /** * 打开的activity **/

    private List<Activity> activities = new ArrayList<Activity>();


    /** * 新建了一个activity * * @param activity */

    public void addActivity(Activity activity) {
        activities.add(activity);
    }

    /** * 结束指定的Activity * * @param activity */

    public void finishActivity(Activity activity) {

        if (activity != null) {
            this.activities.remove(activity);
            activity.finish();
        }
    }

    /** * 应用退出,结束所有的activity */

    public void exit() {

        for (Activity activity : activities) {
            if (activity != null) {
                activity.finish();
            }
        }
        System.exit(0);

    }

    /** * 结束指定类名的Activity */
    public void finishActivityclass(Class<?> cls) {
        if (activities != null) {
            for (Activity activity : activities) {
                if (activity.getClass().equals(cls)) {
                    this.activities.remove(activity);
                    finishActivity(activity);
                    break;
                }
            }
        }

    }

}

本文转载自:http://blog.csdn.net/qq_21376985/article/details/52765074

程序员小冰

程序员小冰

粉丝 14
博文 163
码字总数 629
作品 4
深圳
架构师
私信 提问
Android 网络编程 目录

Android 网络编程 目录 Android 网络编程1 Http协议 Android 网络编程2 Okhttp缓存机制 Android 网络编程3 Java NIO to be continued... Android 架构师之路 目录 Android 架构师之路1 UML图...

香沙小熊
2018/06/21
0
0
Android经典完美退出方法

一种比较流行的Android经典完美退出方法,使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,...

子曰疯
2013/12/23
311
0
Android内存泄漏以及解决办法

Android程序开发中,如果一个对象已经不需要被使用了,本该被回收时,而这时另一个对象还在持有对该对象的引用,这样就会导致无法被GC回收,就会出现内存泄漏的情况。 内存泄漏时Android程序...

lanyu96
2018/11/09
24
1
android退出所有的activity

Android经典完美退出方法,使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、...

小克898
2013/11/29
582
2
android 设计模式的应用

1 职责链模式 职责链模式的意图为:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。使...

小克898
2014/08/24
287
0

没有更多内容

加载失败,请刷新页面

加载更多

Handler简解

Handler 这里简化一下代码 以便理解 Handler不一定要在主线程建 但如Handler handler = new Handler(); 会使用当前的Looper的, 由于要更新UI 所以最好在主线程 new Handler() { mLooper = Lo...

shzwork
11分钟前
1
0
h5获取摄像头拍照功能

完整代码展示: <!DOCTYPE html> <head> <title>HTML5 GetUserMedia Demo</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum......

诗书易经
13分钟前
1
0
正向代理和反向代理

文章来源 运维公会:正向代理和反向代理 1、正向代理 (1)服务对象不同 正向代理服务器的服务对象是客户端,可以将客户端和代理服务器看作一个整体。 (2)配置方法不同 需要在客户端配置代...

运维团
29分钟前
2
0
5个避免意外论文重复率高的方法

即使你不是故意抄袭,但你可能在无意中抄袭了别人的论文, 这个叫做意外抄袭,它可能正发生在你身上,如果你不熟悉学术 道德规范,这里将告诉你5个基本的方法来避免意外抄袭。 Tip1 熟悉其他...

论文辅导员
31分钟前
2
0
Maven通过profiles标签读取不同的配置

<profiles> <profile> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> ......

时刻在奔跑
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部