Android應用開發完全退出程式的通用方法!!!

android_tutor發表於2011-03-26

大家好,好久不見了,我們在開發一個android應用時,有可能有N個Activity,而在每個Activity裡的選單裡有個"退出程式"選單,這裡就要完全退出程式了,所以今天給大家分享的是Android應用開發完全退出程式的通用方法,以前我在網上收了幾種方法,但都不能通用,比如:工作管理員方法(ActivityManager):

首先要說明該方法執行在Android 1.5 - 2.1 才可以(不過蠻好用的撒!),2.2以後就不行了,同時需要加如下許可權:

 

用法只有如下兩行程式碼:

上面要是2.2以後能通用就非常完美了,可是結果你懂得。。。

所以為了通用想到了另外一種方法,就是當我們點選“退出程式”選單時,可以從當前Activity跳轉到主Activity(就是我們開啟程式最先啟動的那個Activity),通過Intent告訴主Activity我要退出程式,然後主Activity呼叫finish()方法即可。由於這一過程很短暫,以致於我們沒觀察到Activity有任何切換就退出程式了!

同樣為了讓大家更容易理解,我做了一個Demo.為了省事,程式執行時我直接就從MainActivity跳轉到BActivity,在BActivity有個“退出程式”選單,點選會退出程式。具體過程如下:

首先第一步:新建一個Android工程,命名為ExitDemo(目錄結構圖如下)

第二步:定義一個工具類Sysutil用來退出程式,這樣定義好處可以在多個Activity的時候複用,程式碼如下:

 

第三步:修改MainActivity.java,程式碼如下:

第四步:新建一個Activity命名為BAcivity.java,記得要在配置檔案裡申明哦~程式碼如下:

第五步:執行程式,直接進入了BActivity,點選選單效果如下:

點選退出程式選單,管你SDK是什麼版本,就可以完全退出程式啦,有木有!有木有!呵呵~

 

這裡要說明一下,如果我們的主Activity是單例模式的話,也就是launcheMode="singleTop|singleTask"如下面程式碼:

這時MainActivity執行了onNewIntent()方法,退出程式 在這裡完成,以上只是我個人的片面理解,如果大家有更好的通用方法,可以告訴我,相互學習,謝謝大家!!!

相關文章