android 完全退出自己的应用程序

问题描述:

1,有的时候我们需要退出完全退出自己应用程序, 印象中android 没有没有那个API直接可以完成这个操作。

解决办法:

其实就是我们就是退出我们在自己应用程序中打开的所有activity。然后我们只需要记录下我们在程序中打开的所有的activity,然后在需要退出所有应用的时候,只需要将所有的已经打开的activity 遍历 关闭就 行了。 

怎么实现:

application 是全局   我们可以在application记录下已经打开的activity  提供两个方法 一个  添加已经打开的activity   一个  退出应用    下面  直接看代码吧




import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.ActionBarActivity;
/**
 * 完全退出 自己 应用程序
 * @author cyl
 *
 * 2015-12-13
 */
public class ExitAppliation extends Application
{ //可以添加activity  fragmentactivity   actionbaractivity
private List<FragmentActivity> activityList = new LinkedList<FragmentActivity>();
private List<Activity> activities = new LinkedList<Activity>();
private List<ActionBarActivity> actionBarActivities = new LinkedList<ActionBarActivity>();
private static ExitAppliation instance;
// 单例模式中获取唯一的MyApplication实例
public static ExitAppliation getInstance()
{
if (null == instance)
{
instance = new ExitAppliation();
}
return instance;
}
//添加Activity到容器中
public void addActivity(FragmentActivity activity)
{
activityList.add(activity);
}
//添加Activity到容器中
public void addActivity(Activity activity)
{
activities.add(activity);
}
//添加Activity到容器中
public void addActivity(ActionBarActivity activity)
{
actionBarActivities.add(activity);
}
// 遍历所有Activity并finish
public void exit()
{
for (FragmentActivity activity : activityList)
{
activity.finish();
}
for (Activity activity : activities)
{
activity.finish();
}
for (ActionBarActivity activity : actionBarActivities)
{
activity.finish();
}
System.exit(0);
}
}


补充:

1,ExitApplication需要在 你的manifest.xml文件 配置一下,如果你有自己application   只需要将你的application 继承与这个 ExitApplication 

2,在每个打开的activity中  使用ExitAppliation.getInstance().addActivity(this);   

3,在需要关闭的地方调用   ExitAppliation.getInstance().exit();

ok  ,就说到这里。

猜你喜欢

转载自blog.csdn.net/tiandiyinghun/article/details/50282799