android 退出應用程序會調用android.os.Process.killProcess(android.os.Process.myPid())
或是System.exit(0),這只是針對第一個Activity(也就是入口的Activity)時生效。若是有A,B,C
三個Activity,而想在B 或C 中Activity 退出,調用上面的方法,每每會銷燬當前的Activity 返回上
一個Activity。固然也能夠逐個返回上一個Activity,直到跳轉到入口的Activity,最後退出應用程
序。但這樣比較麻煩,並且逐個返回的體驗並不友好。 java
使用棧統一管理項目中的Activity。創建一個單例模式進行管理。代碼以下: android
import java.util.LinkedList;
import java.util.List; app
import android.app.Activity;
import android.app.Application; get
public class ExitApplication extends Application { it
private List<Activity> activityList=new LinkedList<Activity>(); io
private static ExitApplication instance; class
private ExitApplication()
{
}
//單例模式中獲取惟一的ExitApplication 實例
public static ExitApplication getInstance()
{
if(null == instance)
{
instance = new ExitApplication();
}
return instance; import
}
//添加Activity 到容器中
public void addActivity(Activity activity)
{
activityList.add(activity);
}
//遍歷全部Activity 並finish 容器
public void exit()
{ List
for(Activity activity:activityList)
{
activity.finish();
}
System.exit(0);
} }