Android完全結束Activity并退出程序

徹底退出程序
服務器君一共花費了216.956 ms進行了6次數據庫查詢,努力地為您提供了這個頁面。
試試閱讀模式?希望聽取您的建議

關于完全退出Android程序,網上這方面的帖子很多,方法也很多。記得當時自己寫的第一個比較完整的項目的時候就遇上了這個問題,由于對Activity的生命周期了解不夠,又使用了TabActivity使得層次關系比較復雜,在程序中添加的“退出”菜單項經常無法完全退出,之后網上各種搜索,各種方法也試過了,什么System.exit(0)啊,結束進程之類的啊,都依然無效果。

后面才發現的這個方法。思路也很簡單,回想自己當初為了解決這個問題時的苦苦尋覓,遂決定將其共享,供遇到此問題人士作為參考。

啰嗦夠了,上思路:添加一個全局變量作為程序退出的標記(boolean類型),當需要退出程序時置為true,程序中每個Activity的onStart方法中對該變量進行判斷,為true就結束自己。

使用Application來保存一個全局變量isProgramExit。(對Application使用不熟悉的話查看相關資料)

public class MyApplication extendsApplication {
	// 程序退出標記
	private static boolean isProgramExit = false;
	public void setExit(booleanexit) {
		isProgramExit= exit;
	}
	
	public booleanisExit() {
		return isProgramExit;
	}
}

在你退出時需要結束的每個 Activity 的 onStart 方法加上以下代碼:

protected voidonStart() {
	super.onStart();
	MyApplication mApp = (MyApplication)getApplication();
	if(mApp.isExit()) {
		finish();
	}
}

比如,程序中有三個Activity,A —— B —— C;現在在C中有個按鈕,點擊退出整個程序。按照上面說的,在A和B的onStart方法中加入判斷代碼(C中可以不加),C中點擊按鈕時執行:

MyApplication mApp = (MyApplication)getApplication();
mApp.setExit(true);
finish();

這樣C結束了自己,按照流程會回到B,然后B中會進行判斷,因為退出條件滿足,結束自己;再回到A,同樣也結束……

可以看到,這種方法并不高明,甚至有些復雜,因為要在每個Activity的onStart中都加上判斷。但不可否認的是這種方法卻是絕對有效的,不管你的程序中Activity如何跳轉來跳轉去,只要一聲令下,通通結束,屢試不爽。

所以,有遇到程序退出問題的朋友可以作為參考。

本文地址:http://www.824886.live/librarys/veda/detail/283,歡迎訪問原出處。

不打個分嗎?

轉載隨意,但請帶上本文地址:

http://www.824886.live/librarys/veda/detail/283

如果你認為這篇文章值得更多人閱讀,歡迎使用下面的分享功能。
小提示:您可以按快捷鍵 Ctrl + D,或點此 加入收藏。

大家都在看

閱讀一百本計算機著作吧,少年

很多人覺得自己技術進步很慢,學習效率低,我覺得一個重要原因是看的書少了。多少是多呢?起碼得看3、4、5、6米吧。給個具體的數量,那就100本書吧。很多人知識結構不好而且不系統,因為在特定領域有一個足夠量的知識量+足夠良好的知識結構,系統化以后就足以應對大量未曾遇到過的問題。

奉勸自學者:構建特定領域的知識結構體系的路徑中再也沒有比學習該專業的專業課程更好的了。如果我的知識結構體系足以囊括面試官的大部分甚至吞并他的知識結構體系的話,讀到他言語中的一個詞我們就已經知道他要表達什么,我們可以讓他坐“上位”畢竟他是面試官,但是在知識結構體系以及心理上我們就居高臨下。

所以,閱讀一百本計算機著作吧,少年!

《計算機程序的構造和解釋(原書第2版)》 艾伯森 (譯者), 裘宗燕 (譯者), 等 (譯者)

《計算機程序的構造和解釋》(原書第2版)1984年出版,成型于美國麻省理工學院(MIT)多年使用的一本教材,1996年修訂為第2版。在過去的二十多年里,《計算機程序的構造和解釋》(原書第2版)對于計算機科學的教育計劃產生了深刻的影響。第2版中大部分重要程序設計系統都重新修改并做過測試,包括各種解釋器和編譯器。作者根據其后十余年的教學實踐,還對其他許多細節做了相應的修改?!队嬎銠C程序的構造和解釋》(原書第2版)自出版以來,世界各地已有100多所院校采用《計算機程序的構造和解釋》(原書第2版)做教材,其中包括美國斯坦福大學、美國普林斯頓大學、英國牛津大學、日本東京大學等。

更多計算機寶庫...

云南快乐十分走势一定牛 快乐双彩最新开奖公告 上海快3开奖结果 首创股份股票 微乐长春麻将手机版下载安装 李奎打鱼怎么玩才能赢钱 极速赛车前五后五技巧 平码公式 甘肃快3开奖走势图 pk10计划微信群 腾讯分分彩分析软件下载