android 退出程式寫法小結

來源:互聯網
上載者:User

標籤:

退出整個應用:

       //關閉當前activity方法一
       finish();

       //關閉當前介面方法二
       android.os.Process.killProcess(android.os.Process.myPid());

       //關閉當前介面方法三
       System.exit(0);

       //關閉當前介面方法四
       this.onDestroy();

  1.製造拋異常導致整個程式退出

  2.將所有的activity放入到一個list中,然後在需要退出的時候,將所有的activity,finish掉

import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
/**
* 一個類 用來結束所有後台activity
* @author Administrator
*
*/
public class SysApplication extends Application {
//運用list來儲存們每一個activity是關鍵
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);
}
//關閉每一個list內的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();
}
}

  3.通過廣播來完成退出功能,具體實現過程是這樣的:在每個Activity建立時(onCreate時)給Activity註冊一個廣播接收器,當退出時發送該廣播即可。大概的代碼如下:

@Overrideprotected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       IntentFilter filter = new IntentFilter();       filter.addAction("finish");       registerReceiver(Receiver, filter);}private BroadcastReceiver Receiver = new BroadcastReceiver() {    @Override    public void onReceive(Context context, Intent intent) {           if("finish".equals(intent.getAction())) {              Log.e("#########", "I am " + getLocalClassName()                     + ",now finishing myself...");              finish();       }    }};

android 退出程式寫法小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.