相信大家在開發一個Android應用的時候 稍微負責一點的項目 (就說是很多個Activity)
當然常規的就是沒啓動一個activity就finish一個,最後要在退出程序的事件裏system.exit(0) 或者 其他的什麼殺進程的方式退出就好
但是比如遇見 用startActivityForReuslt();啓動一個Activity的時候 (當然有時候可以不用這種方式)
就說在這種方式的時候吧,你就不能調用Finish去結束一個activity 這時候應用就會保留對這個Activity的引用
導致無法退出程序(退出程序時候返回應用的某一個界面)
所以我們按照這種思路 讓我們自己可以對Activity的引用進行控制
所以,廢話不多說,上代碼,代碼纔是最好的老師:
* 退出應用
* @author Administrator
*
*/
public class CloseActivityHelper {
public static List<Activity> activityList = new ArrayList<Activity>();
public static void exitClient(Context ctx)
{
// 關閉所有Activity
for (int i = 0; i < activityList.size(); i++)
{
if (null != activityList.get(i))
{
activityList.get(i).finish();
}
}
ActivityManager activityMgr = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE );
activityMgr.restartPackage(ctx.getPackageName());
System.exit(0);
}
}