Android-退出应用程序的所有activity

Android-退出应用程序的所有activity

转载地址:http://blog.csdn.net/sunnyfans/article/details/7688092#comments

通常正常退出app提供的的是System的静态方法,exit(0)。但是实际操作中,在多个activity的app中,对其中一个先用finish()方法,再使用System.exit(0)方法退出后,其他的activity并没有能够退出。

方法:创建单例类,其中用linkedlist来管理activity,每个activity进行初始化时,加入list,最终在调用该类的exit方法,对list中的所有activity进行finish(),最后在使用System.exit(0)方法。代码如下:

import java.util.LinkedList; 
import java.util.List; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.app.Application; 
import android.content.DialogInterface; 
import android.content.Intent; 
 
public class SysApplication extends Application { 
    private List<Activity> mList = new LinkedList<Activity>(); 
    private static SysApplication instance; 
 
    private SysApplication() {   
    } 
    public synchronized static SysApplication getInstance() { 
        if (null == instance) { 
            instance = new SysApplication(); 
        } 
        return instance; 
    } 
    // add Activity  
    public void addActivity(Activity activity) { 
        mList.add(activity); 
    } 
 
    public void exit() { 
        try { 
            for (Activity activity : mList) { 
                if (activity != null) 
                    activity.finish(); 
            } 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } finally { 
            System.exit(0); 
        } 
    } 
    public void onLowMemory() { 
        super.onLowMemory();     
        System.gc(); 
    }  
}
注意不要忘记在该类要在activity的oncreate方法,调用SysApplication.getInstance.addActivity(this)。

你可能感兴趣的:(Android-退出应用程序的所有activity)