天天看點

Android--退出整個應用程式

版權聲明:本文為部落客原創文章,轉載請标明出處。 https://blog.csdn.net/chaoyu168/article/details/52229304

在寫android應用程式時,經常會遇到想退出目前Acitivity,或者直接退出應用程式.我之前的一般操作是按傳回鍵,或者直接按home鍵直接傳回,其實這兩種操作都沒有關閉目前應用程式,沒有釋放系統資源。有時跳轉的activity較多時,還需要多次按傳回鍵,這樣感覺一點都不爽。

網上提供了幾種方法,我吸收了下面這個自認為簡單易懂的方法,将下面SysApplication這個類複制到工程裡面,然後在每個Acitivity的oncreate方法裡面通過SysApplication.getInstance().addActivity(this); 添加目前Acitivity到ancivitylist裡面去,最後在想退出的時候調用SysApplication.getInstance().exit();可直接關閉所有的Acitivity并退出應用程式。

附代碼:

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)

如:

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SysApplication.getInstance().addActivity(this); 
}           

繼續閱讀