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

在开发andorid程序的时候,难免会牵扯到退出整个应用程序的情况,怎么完全退出呢?请参阅下面的关键代码:

  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方法中添加类似代码:

  1. public void onCreate(Bundle savedInstanceState) {  
  2.     super.onCreate(savedInstanceState);       
  3.     SysApplication.getInstance().addActivity(this);  
  4. }  

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

  1. SysApplication.getInstance().exit();  

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


原文地址:http://blog.csdn.net/love__coder/article/details/6923579

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值