Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 關於Android的Intent.FLAG_ACTIVITY_CLEAR_TOP

關於Android的Intent.FLAG_ACTIVITY_CLEAR_TOP

編輯:關於Android編程

今天寫代碼遇到了一個問題:有如下幾個Activity

A - B - C

當 B - A - B 跳轉的時候,使用Intent的FLAG_ACTIVITY_CLEAR_TOP會讓第一個B和第二個A,destory掉

但是當B - A - C跳轉的時候不會調用B和A的destory

其實這個問題以前遇到過,今天遇到的時候又忘記了。查看API文檔才發現原因,所以這裡記錄一下避免下次又忘記了:

public static final int FLAG_ACTIVITY_CLEAR_TOP

Added in API level 1

If set, and the activity being launched is already running in the current task, then instead of launching a new instance of that activity, all of the other activities on top of it will be closed and this Intent will be delivered to the (now on top) old activity as a new Intent.

文檔上說,如果設置這個屬性,是當要啟動的Activity已經存在當前Task中,才會在啟動的時候銷毀其他的Activity。

所以上面當A跳C的時候不滿足此條件。


當然如果你想實現這個效果可以使用:

it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);


不過不幸的是,此方法要求最低API為11

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved