1. 程式人生 > >Android activity堆疊及管理例項詳解

Android activity堆疊及管理例項詳解

本文轉載出處:http://www.jb51.net/article/92208.htm

本示例演示如何通過設定Intent物件的標記,來改變當前任務堆疊中既存的Activity的順序。

1. Intent物件的Activity啟動標記說明:

?
1 FLAG_ACTIVITY_BROUGHT_TO_FRONT

應用程式程式碼中通常不設定這個標記,而是由系統給單任務啟動模式的Activity的設定。

?
1 FLAG_ACTIVITY_CLEAR_TASK

如果給Intent物件添加了這個標記,那麼在Activity被啟動之前,會導致跟這個Activity關聯的任何既存的任務都被清除。也就是說新的Activity會成為一個空任務的根,而其他任何Activity都會被銷燬。它緊跟FLAG_ACTIVITY_NEW_TASK聯合使用。

?
1 FLAG_ACTIVITY_CLEAR_TOP

如果給Intent物件設定這個標記,並且要啟動的Activity在當前任務中已經運行了,那麼不是建立一個這個Activity的新的例項,而是把堆疊中這個Activity之上的所有其他Activity都關掉,然後把新的Intent物件傳送給這個既存的Activity(這時它在堆疊的頂部)。

?
1 FLAG_ACTIVITY_CLEAR_WHEN_TASK_REST

如果給Intent物件設定了這個標記,那麼在這個任務被複位時,在任務的Activity堆疊中這個標記點之後的Activity都應該被清除。

?
1 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

如果給Intent物件設定了這個標記,那麼新的Activity不會被保留在最近啟動的Activity的列表中。

?
1 FLAG_ACTIVITY_FORWARD_RESULT

如果給Intent物件設定了這個標記,並且這個Intent物件被用於從一個既存的Activity中啟動一個新的Activity,然後將這個既存Activity的回覆目標轉移到新的Activity。使用這種方式獲取的新的Activity能夠呼叫setResult(int)方法,把結果返回給原始的Activity。

?
1 FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY

這個標記通常不由應用程式程式碼來設定,如果是從歷史中啟動這個Activity,系統就會設定這個標記。

?
1 FLAG_ACTIVITY_MULTIPLE_TASK

除非實現自己的頂層應用程式啟動器,否則不使用這個標記。

?
1

相關推薦

Android activity堆疊管理例項

本文轉載出處:http://www.jb51.net/article/92208.htm 本示例演示如何通過設定Intent物件的標記,來改變當前任務堆疊中既存的Activity的順序。 1. Intent物件的Activity啟動標記說明:

systemd配置文件管理方法

systemd一、systemd文件夾配置文件夾: systemd 配置文件存在於以下三個文件夾中: ①/etc/systemd/system 存放系統啟動的默認級別及啟動的unit的軟連接,優先級最高。②/run/systemd/system,系統執行過程中產生的服務腳本,優先級次

Android Intent和Bundle機制例項

Android中提供了Intent機制來協助應用間的互動與通訊,或者採用更準確的說法是,Intent不僅可用於應用程式之間,也可用於應用程式內部的Activity/Service之間的互動。Intent這個英語單詞的本意是“目的、意向”等,對於較少從事於大型平臺開發工作的程式設計師來說,這可能是一個不太容易

RS485通訊原理圖程式例項

參考連結:http://m.elecfans.com/article/714259.html   RS232 標準是誕生於 RS485 之前的,但是 RS232 有幾處不足的地方: 介面的訊號電平值較高,達到十幾 V,使用不當容易損壞介面晶片,電平標準也與TTL 電平不相容。

Android開發——Android 6.0許可權管理機制

0.前言最近在研究所實習,我負責維護Android手機取證專案的Android客戶端,有客戶反映我們的APP在Android6.0無響應,經過除錯發現SD卡讀寫許可權許可權被拒絕。但明明是在AndroidManifest.xml檔案中宣告過的。查了很多資料才知道Android

[Android系統原理開發要點

第1章 Android系統概述 1 1.1 基礎知識 1 1.1.1 Android開發系統的由來 1 1.1.2 行動電話系統開發模式 2 1.1.3 未來行動電話的功能及Android的優勢 4 1.2 Android的開發工作 6 1.2.1 Android移植

直流穩壓電源製作管理方法

本文詳細介紹了直流穩壓電源的製作、檢測與管理方法。首先介紹了直流穩壓電源主電路、控制電路以及簡單保護電路的設計。其次提出了一種適合於有多路電壓輸出的複雜電源系統中,各個直流電壓的有無檢測和管理方法,可提高電壓輸出檢測效率和實現電源管理自動化。最後總結了在該電源的設計與試驗

Linux使用者,組管理命令整理例項

使用者,組 相關檔案: /etc/passwd 使用者相關資訊 /etc/login.defs 設定使用者建立時預設相關資訊 /etc/defualt/useradd 使用者新增時會建立的相關資訊設定 /etc/skel

ndk開發中的Android.mk檔案與Application.mk例項

Android.mk檔案的作用: An Android.mk file is written to describe your sources to the build system. 中文意思是:寫一個Android.mk檔案是為了向生成系統描述你的原始碼。

Android ListView滑動刪除響應事件

源代碼下載 引用 example imp cor toast don float 發現 目標:實現類似QQ,微信的消息列表滑動刪除 具體操作: 1. 主頁面布局 首先在布局文件(本例是activity_main.xml)中引入ListView控件,並指定id(如下代

RAID管理命令mdadm

mdadm 磁盤陣列 raid管理 磁盤陣列 磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“獨立磁盤構成的具有冗余能力的陣列”之意。磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系

Linux文件管理命令練習

Linux文件管理命令Windows裏對於文件的管理比較直觀,但Linux呢?如何在Linux系統裏創建、復制、移動、刪除文件與目錄呢?這其實是個問題,但隨著學習的進行,這將不再是個問題;一:文件管理類命令名稱?命令的歸納:1、創建文件:? touch? ? ? ? ? ? ? ? ? ? ? ? ? 2、查

MySQL用戶管理SQL語句

shel row 不能 mode form lte entos 本體 lin 1.1 MySQL用戶管理 1.1.1 用戶的定義   用戶名+主機域 mysql> select user,host,password from mysql.user; +--

1.1 MySQL用戶管理SQL語句

3.1 match format cmake caf 物理 字符串類 float 都是 1.1 MySQL用戶管理 1.1.1 用戶的定義   用戶名+主機域 mysql> select user,host,password from mysql.use

android平臺下OpenGL ES 3.0例項頂點屬性、頂點陣列

OpenGL ES 3.0學習實踐 android平臺下OpenGL ES 3.0從零開始 android平臺下OpenGL ES 3.0繪製純色背景 android平臺下OpenGL ES 3.0繪製圓點、直線和三角形 android平臺下OpenGL E

【轉】MySQL使用者管理SQL語句

【轉】MySQL使用者管理及SQL語句詳解 1.1 MySQL使用者管理 1.1.1 使用者的定義   使用者名稱+主機域 mysql> select user,host,password from mysql.user; +--------+------------+---------

android平臺下OpenGL ES 3.0例項頂點緩衝區物件(VBO)和頂點陣列物件(VAO)

OpenGL ES 3.0學習實踐 android平臺下OpenGL ES 3.0從零開始 android平臺下OpenGL ES 3.0繪製純色背景 android平臺下OpenGL ES 3.0繪製圓點、直線和三角形 android平臺下OpenGL E

expect學習筆記例項

expect學習筆記及例項詳解 引用自:http://wenku.baidu.com/view/b65e103610661ed9ad51f374.html   1. expect 是基於tcl 演變而來的,所以很多語法和tcl 類似,基本的語法如下 所示: 1.1 首行

Android + Appium 自動化測試完整的環境配置代碼

完成 通知 文件的 lam tails contain version 自動化測試 開發 環境的的搭建 參考大神博客:https://www.cnblogs.com/fnng/p/4540731.html 該博客有一套詳細的入門教程,奈何時間有點久遠有些東西不能用了,但是參

推薦《LinuxShell命令列指令碼程式設計例項》附下載連結

本書較全面地介紹了LinuxShell的知識點,以Bash為基礎,從LinuxShell的起源開始,到Shell中常用的命令,然後講述了Shell指令碼程式設計的基礎知識和Shell的條件語句、迴圈語句、函式、正則表示式、Shell指令碼中的輸入處理、重定向和Shell管道及