在Android開發中,如何結束整個應用程序

jopen 9年前發布 | 4K 次閱讀 Java Android

解決思路:

1、建立List集合,將所有的Acitivty 都存進,集合里——private List<Activity> activityList = new LinkedList<Activity>();

2、結束整個應用程序時,將遍歷集合,將Activity 逐個 kill 。 

下面是具體實現代碼:

  
import java.util.LinkedList;  
import java.util.List;  

import android.app.Activity;  
import android.app.Application;  

public class ActivityManager extends Application {  
    //建立鏈表集合  
    private List<Activity> activityList = new LinkedList<Activity>();  

    //用單例模式,保證,這個ActivityManager 在整個應用中只有一個  
    private static ActivityManager instance;  

    private ActivityManager() {  

    }  

    public static ActivityManager getInstance() {  
        if (instance == null) {  
            instance = new ActivityManager();  
        }  
        return instance;  
    }  

    //向鏈表中,添加Activity  
    public void addActivity(Activity activity) {  
        activityList.add(activity);  
    }  

    //結束整個應用程序  
    public void exit() {  

        //遍歷 鏈表,依次殺掉各個Activity  
        for (Activity activity : activityList) {  
            if (!activity.isFinishing()) {  
                activity.finish();  
            }  
        }  
        //殺掉,這個應用程序的進程,釋放 內存  
        int id = android.os.Process.myPid();  
        if (id != 0) {  
            android.os.Process.killProcess(id);  
        }  
    }  
}  

具體使用的時候,需要,在每一個Activity中,獲取 ActivityManager 的實例,然后,將Activity,添加到,List 中。


1、獲取 ActivityManager 的實例對象:

ActivityManager exitM = ActivityManager.getInstance();

2、添加各個 Activity

exitM.addActivity(MainActivity.this);


關閉整個應用程序的時候,只需要,最后一句:

exitM.exit(); 

便可 大功告成!

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!