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

實現(xiàn)activity管理器一次退出所有activity

 更新時間:2014年01月11日 15:19:10   作者:  
退出所有Activity網(wǎng)上有很多很多種說法,推薦的一種方法是自定義一個Activity管理器,來管理所有已打開的Activity,要退出的時候再通過這個管理器來退出所有Activity,下面是一個簡單的Activity管理器代碼

關(guān)于怎么一次退出所有Activity網(wǎng)上有很多很多種說法,比如用殺進(jìn)程的方式:android.os.Process.killProcess(android.os.Process.myPid());這種方式需要添加權(quán)限android.permission.KILL_BACKGROUND_PROCESSES;
或者用System.exit(0);退出。

另外一種方法是用ActivityManager的restartPackage()方法;但是我試過了,都沒用。。。

還有人說讓程序拋出一個異常退出,這種嚴(yán)重影響用戶體驗的做法我們是極力不推薦的。還有別的方法,如退出的時候發(fā)廣播通知所有Activity等等。

個人比較推薦的一種方法是自定義一個Activity管理器,來管理所有已打開的Activity,要退出的時候再通過這個管理器來退出所有Activity,經(jīng)驗證,這種方法是可行的,而且效果很好。

下面是一個簡單的Activity管理器代碼,主要是建立一個棧,把每個已打開的Activity壓入棧中。退出的時候在依次取出來。

復(fù)制代碼 代碼如下:

public class MyActivityManager {

private static MyActivityManager instance;
private Stack<Activity> activityStack;//activity棧

private MyActivityManager() {
}
//單例模式
public static MyActivityManager getInstance() {
    if (instance == null) {
        instance = new MyActivityManager();
    }
    return instance;
}
//把一個activity壓入棧中
public void pushOneActivity(Activity actvity) {
    if (activityStack == null) {
        activityStack = new Stack<Activity>();
    }
    activityStack.add(actvity);
    Log.d("MyActivityManager ", "size = " + activityStack.size());
}
//獲取棧頂?shù)腶ctivity,先進(jìn)后出原則
public Activity getLastActivity() {
    return activityStack.lastElement();
}
//移除一個activity
public void popOneActivity(Activity activity) {
    if (activityStack != null && activityStack.size() > 0) {
        if (activity != null) {
            activity.finish();
            activityStack.remove(activity);
            activity = null;
        }

    }
}
//退出所有activity
public void finishAllActivity() {
    if (activityStack != null) {
        while (activityStack.size() > 0) {
            Activity activity = getLastActivity();
            if (activity == null) break;
            popOneActivity(activity);
        }
    }
}}

在每一個activity中的onCreate方法里調(diào)用壓入方法把當(dāng)前activity壓入管理棧中。比如在MainActivity中:
MyActivityManager mam = MyActivityManager.getInstance();
mam.pushOneActivity(MainActivity.this);就把當(dāng)前activity壓入了棧中。在退出所有Activity的地方調(diào)用退出所有Activity的方法即可退出所有activ

相關(guān)文章

  • Android Studio 3.6中新的視圖綁定工具ViewBinding 用法詳解

    Android Studio 3.6中新的視圖綁定工具ViewBinding 用法詳解

    這篇文章主要介紹了Android Studio 3.6中新的視圖綁定工具ViewBinding 用法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • android studio的使用sdk manager的方法

    android studio的使用sdk manager的方法

    這篇文章主要介紹了android studio的使用sdk manager的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • android圖片處理之讓圖片變成圓形

    android圖片處理之讓圖片變成圓形

    如何讓圖片變成圓形,這篇文章主要為大家詳細(xì)介紹了android圖片處理中讓圖片變成圓形的方法,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android實現(xiàn)簡單畫圖畫板

    Android實現(xiàn)簡單畫圖畫板

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)簡單畫圖畫板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • Android使用Matrix旋轉(zhuǎn)圖片模擬碟片加載過程

    Android使用Matrix旋轉(zhuǎn)圖片模擬碟片加載過程

    這篇文章主要為大家詳細(xì)介紹了Android使用Matrix旋轉(zhuǎn)圖片模擬碟片加載過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android自定義滑動接聽電話控件組實例

    Android自定義滑動接聽電話控件組實例

    這篇文章主要介紹了Android自定義滑動接聽電話控件組,接聽電話可以左右滑動,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • 創(chuàng)建Android守護(hù)進(jìn)程實例(底層服務(wù))

    創(chuàng)建Android守護(hù)進(jìn)程實例(底層服務(wù))

    這篇文章主要介紹了創(chuàng)建Android守護(hù)進(jìn)程實例(底層服務(wù)),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 詳解Android獲取所有依賴庫的幾種方式

    詳解Android獲取所有依賴庫的幾種方式

    本篇文章主要介紹了詳解Android獲取所有依賴庫的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Android 加載asset文件夾下邊的圖片

    Android 加載asset文件夾下邊的圖片

    這篇文章主要介紹了Android 加載asset文件夾下邊的圖片,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • Android Listview點(diǎn)贊問題關(guān)于圖片重復(fù)問題

    Android Listview點(diǎn)贊問題關(guān)于圖片重復(fù)問題

    最近在開發(fā)android方面的項目時,遇到很多問題,下面小編以listview 與 baseadapter結(jié)合使用為例,給大家分享下關(guān)于點(diǎn)贊的的時候 圖片重復(fù)問題的解決方法,一起看看吧
    2016-11-11

最新評論

莱西市| 金堂县| 黑龙江省| 深州市| 文登市| 应城市| 昭平县| 专栏| 定兴县| 睢宁县| 河北省| 沁源县| 南木林县| 冀州市| 汤原县| 孝义市| 台中市| 兴业县| 安远县| 长子县| 南江县| 鹤岗市| 阿合奇县| 城口县| 多伦县| 金沙县| 公主岭市| 剑阁县| 闵行区| 邛崃市| 昌黎县| 汉寿县| 吴忠市| 普陀区| 宜丰县| 聂拉木县| 江都市| 山东省| 金坛市| 卢氏县| 开阳县|