Android开发实现一键退出所有活动

来源:互联网 发布:c权限管理系统源码 编辑:程序博客网 时间:2024/05/22 15:20

在Android开 发中,如何实现一键退出所有的活动呢(把所有活动一次性销毁,并退出软件),刚开始查了许多资料,并没有找到现成的函数(java里叫做方法)来实现这一功能,JAVA好像没有提供方法(可能能力有限,反正我是没查到。。。),后来参考了某个大大的思路,自己写一个类来实现。

类的代码如下

import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;

public class ActivityKiller extends Application
{
private List<Activity> mList = new LinkedList<Activity>();
private static ActivityKiller instance;
private ActivityKiller(){}
public static ActivityKiller getInstance()
{
if (null == instance)
{
instance = new ActivityKiller();
}
return instance;
}
public void addActivity(Activity activity)
{
mList.add(activity);
}
public void exit()
{
try {
for (Activity activity:mList)
{
if (activity != null)
activity.finish(); //所有的活动是在这里被销毁的
}
} catch (Exception e)
{
e.printStackTrace();
}
finally
{
System.exit(0);
}
}
public void onLowMemory()
{
super.onLowMemory();
System.gc();
}
}

然后在每个activity的java文件中加入这一句

ActivityKiller.getInstance().addActivity(this);

这句是什么意思呢,看上面代码中的方法,就是把这个活动加到list里去,然后挨个销毁(好暴力哟)

最后比如说你写了一个按钮的单击事件要实现一键退出这个软件的功能,就这么写:

ActivityKiller.getInstance().exit();

就是这么easy  哈哈,那么,还有没有什么更好的方法实现呢?

1 0
原创粉丝点击