最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android Activity 完全結(jié)束并退出程序的實例

 更新時間:2013年11月12日 16:13:08   作者:  
Android Activity 完全結(jié)束并退出程序的實例
關(guān)于完全退出Android程序,網(wǎng)上這方面的帖子很多,方法也很多。記得當(dāng)時自己寫的第一個比較完整的項目的時候就遇上了這個問題,由于對Activity的生命周期了解不夠,又使用了TabActivity使得層次關(guān)系比較復(fù)雜,在程序中添加的“退出”菜單項經(jīng)常無法完全退出,之后網(wǎng)上各種搜索,各種方法也試過了,什么System.exit(0)啊,結(jié)束進程之類的啊,都依然無效果。
后面才發(fā)現(xiàn)的這個方法。思路也很簡單,回想自己當(dāng)初為了解決這個問題時的苦苦尋覓,遂決定將其共享,供遇到此問題人士作為參考。
啰嗦夠了,上思路:添加一個全局變量作為程序退出的標(biāo)記(boolean類型),當(dāng)需要退出程序時置為true,程序中每個Activity的onStart方法中對該變量進行判斷,為true就結(jié)束自己。
使用Application來保存一個全局變量isProgramExit。(對Application使用不熟悉的話查看相關(guān)資料)
復(fù)制代碼 代碼如下:

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

 public booleanisExit() {
  return isProgramExit;
 }
}

在你退出時需要結(jié)束的每個 Activity 的 onStart 方法加上以下代碼:
復(fù)制代碼 代碼如下:

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

這樣C結(jié)束了自己,按照流程會回到B,然后B中會進行判斷,因為退出條件滿足,結(jié)束自己;再回到A,同樣也結(jié)束……
可以看到,這種方法并不高明,甚至有些復(fù)雜,因為要在每個Activity的onStart中都加上判斷。但不可否認(rèn)的是這種方法卻是絕對有效的,不管你的程序中Activity如何跳轉(zhuǎn)來跳轉(zhuǎn)去,只要一聲令下,通通結(jié)束,屢試不爽。
所以,有遇到程序退出問題的朋友可以作為參考。

相關(guān)文章

最新評論

东阳市| 荃湾区| 奈曼旗| 五河县| 平武县| 库车县| 紫阳县| 班玛县| 广南县| 周至县| 革吉县| 那曲县| 日喀则市| 姚安县| 同心县| 巫山县| 昌邑市| 永定县| 双辽市| 日喀则市| 阳春市| 定陶县| 壶关县| 仁化县| 北宁市| 普安县| 襄城县| 湘西| 钟祥市| 介休市| 马龙县| 泰州市| 秦皇岛市| 雅江县| 镇江市| 盐边县| 大厂| 延津县| 洛隆县| 北宁市| 万安县|