下面是代碼。該方法的原理是用一個list記錄每次啟動的acitivity,在退出時候循環退出改list中保存的acitivity,這樣就做到了所有的acitivity完美退出。
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();
只需這三步,就可以做到完美退出了。 很實用