大家好,好久不見了,我們?cè)陂_發(fā)一個(gè)android應(yīng)用時(shí),有可能有N個(gè)Activity,而在每個(gè)Activity里的菜單里有個(gè)"退出程序"菜單,這里就要完全退出程序了,所以今天給大家分享的是Android應(yīng)用開發(fā)完全退出程序的通用方法,以前我在網(wǎng)上收了幾種方法,但都不能通用,比如:任務(wù)管理器方法( ActivityManager):
首先要說明該方法運(yùn)行在Android 1.5 - 2.1 才可以(不過蠻好用的撒!),2.2以后就不行了,同時(shí)需要加如下權(quán)限:
用法只有如下兩行代碼:
上面要是2.2以后能通用就非常完美了,可是結(jié)果你懂得。。。
所以為了通用想到了另外一種方法,就是當(dāng)我們點(diǎn)擊“退出程序”菜單時(shí),可以從當(dāng)前Activity跳轉(zhuǎn)到主Activity(就是我們打開程序最先啟動(dòng)的那個(gè)Activity),通過Intent告訴主Activity我要退出程序,然后主Activity調(diào)用finish()方法即可。由于這一過程很短暫,以致于我們沒觀察到Activity有任何切換就退出程序了!
同樣為了讓大家更容易理解,我做了一個(gè)Demo.為了省事,程序運(yùn)行時(shí)我直接就從MainActivity跳轉(zhuǎn)到BActivity,在BActivity有個(gè)“退出程序”菜單,點(diǎn)擊會(huì)退出程序。具體過程如下:
首先第一步:新建一個(gè)Android工程,命名為ExitDemo(目錄結(jié)構(gòu)圖如下)
第二步:定義一個(gè)工具類Sysutil用來退出程序,這樣定義好處可以在多個(gè)Activity的時(shí)候復(fù)用,代碼如下:
第三步:修改MainActivity.java,代碼如下:
第四步:新建一個(gè)Activity命名為BAcivity.java,記得要在配置文件里申明哦~代碼如下:
第五步:運(yùn)行程序,直接進(jìn)入了BActivity,點(diǎn)擊菜單效果如下:
點(diǎn)擊退出程序菜單,管你SDK是什么版本,就可以完全退出程序啦,有木有!有木有!呵呵~
這里要說明一下,如果我們的主Activity是單例模式的話,也就是launcheMode="singleTop|singleTask"如下面代碼:
這時(shí)MainActivity執(zhí)行了onNewIntent()方法,退出程序 在這里完成,以上只是我個(gè)人的片面理解,如果大家有更好的通用方法,可以告訴我,相互學(xué)習(xí),謝謝大家!!!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
