Android程序中有多个Activity时的可全部退出方法

  下面是代码。该方法的原理是用一个list记录每次启动的acitivity,在退出时候循环退出改list中保存的acitivity,这样就做到了所有的acitivity完美退出。

 
先写一个类继承 Application

package com.zhaoba.service; import java.util.ArrayList; import java.util.List;
import android.app.Activity; import android.app.Application;
publicclassAgentAppextendsApplication

{ privateList<Activity> activities =newArrayList<Activity>();

privatestaticAgentApp instance;

privateAgentApp(){ } //单例模式中获取唯一的application

public static AgentApp getInstance()

{ if(null==instance)

{ instance=newAgentApp();

} return instance;

} //存放Activity到list中

publicvoid addActivity(Activity activity){ activities.add(activity); }

@Override //遍历存放在list中的Activity并退出

public void onTerminate()

{ super.onTerminate(); for(Activity activity : activities){ activity.finish(); }

android.os.Process.killProcess(android.os.Process.myPid()); }

}

然后在每个要acitivity的oncreate方法中添加下面的代码:

AgentApp.getInstance().addActivity(this);

最后在你要退出的界面执行下面的代码:

AgentApp.getInstance().onTerminate();

只需这三步,就可以做到完美退出了。 很实用

你可能感兴趣的:(Activity)