Android 怎么退出整个应用程序?

原文出自: http://blog.csdn.net/love__coder/article/details/6923579

在开发andorid程序的时候,难免会牵扯到退出整个应用程序的情况,怎么完全退出呢?请参阅下面的关键代码:
[java]  view plain copy
  1. import java.util.LinkedList;  
  2. import java.util.List;  
  3. import android.app.Activity;  
  4. import android.app.AlertDialog;  
  5. import android.app.Application;  
  6. import android.content.DialogInterface;  
  7. import android.content.Intent;  
  8.   
  9. public class SysApplication extends Application {  
  10.     private List<Activity> mList = new LinkedList<Activity>();  
  11.     private static SysApplication instance;  
  12.   
  13.     private SysApplication() {    
  14.     }  
  15.   
  16.     public synchronized static SysApplication getInstance() {  
  17.         if (null == instance) {  
  18.             instance = new SysApplication();  
  19.         }  
  20.         return instance;  
  21.     }  
  22.   
  23.     // add Activity  
  24.     public void addActivity(Activity activity) {  
  25.         mList.add(activity);  
  26.     }  
  27.   
  28.     public void exit() {  
  29.         try {  
  30.             for (Activity activity : mList) {  
  31.                 if (activity != null)  
  32.                     activity.finish();  
  33.             }  
  34.         } catch (Exception e) {  
  35.             e.printStackTrace();  
  36.         } finally {  
  37.             System.exit(0);  
  38.         }  
  39.     }  
  40.   
  41.     @Override  
  42.     public void onLowMemory() {  
  43.         super.onLowMemory();      
  44.         System.gc();  
  45.     }  
  46.   
  47. }  
在每个Activity的onCreate方法中添加类似代码:
[java]  view plain copy
  1. public void onCreate(Bundle savedInstanceState) {  
  2.     super.onCreate(savedInstanceState);       
  3.     SysApplication.getInstance().addActivity(this);  
  4. }  

在需要退出程序的时候,调用:

[java]  view plain copy
  1. SysApplication.getInstance().exit();  

简而言之,通过单例模式把每个Activity 的引用添加到一个全局链表中,每次退出程序调用System.exit(0)时,先调用链表中Activity 的finish方法。

你可能感兴趣的:(Android 怎么退出整个应用程序?)