自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

TaskAffinity屬性對(duì)應(yīng)用程序任務(wù)棧和啟動(dòng)行為的影響

開發(fā) 前端
taskAffinity和allowTaskReparenting這兩個(gè)屬性會(huì)一起使用,實(shí)現(xiàn)將一個(gè)應(yīng)用程序的Activity移動(dòng)到另一個(gè)應(yīng)用程序的任務(wù)(Task)中的功能。

TaskAffinity是Activity的一個(gè)屬性,用于指定Activity所屬的任務(wù)棧(Task Stack)。TaskAffinity可以翻譯為“任務(wù)相關(guān)性”或“任務(wù)親和性”,標(biāo)識(shí)了一個(gè)Activity所需要的任務(wù)棧的名字。

主要作用:

  1. 指定任務(wù)棧的名稱:TaskAffinity屬性可以指定一個(gè)字符串,用于標(biāo)識(shí)任務(wù)棧的名稱。不同的Activity可以使用相同的任務(wù)棧名稱來指定它們屬于同一個(gè)任務(wù)棧,從而在同一個(gè)任務(wù)棧中進(jìn)行活動(dòng)切換。
  2. 控制Activity的啟動(dòng)行為:TaskAffinity屬性還可以影響Activity的啟動(dòng)行為,對(duì)于實(shí)現(xiàn)特定的導(dǎo)航和界面流程非常有用。例如,當(dāng)TaskAffinity和singleTask啟動(dòng)模式配對(duì)使用時(shí),待啟動(dòng)的Activity會(huì)運(yùn)行在名字和TaskAffinity相同的任務(wù)棧中。
  3. 實(shí)現(xiàn)Activity的遷移:TaskAffinity通常與allowTaskReparenting屬性一起使用,用于實(shí)現(xiàn)把一個(gè)應(yīng)用程序的Activity移到另一個(gè)應(yīng)用程序的Task中。allowTaskReparenting屬性用于配置是否允許Activity更換從屬Task。

TaskAffinity屬性的值必須是一個(gè)字符串,且中間必須含有包名分隔符“.”。如果一個(gè)Activity沒有顯式地指定TaskAffinity,那么TaskAffinity屬性就等于Application指明的TaskAffinity;如果Application也沒有指明,那么TaskAffinity的值就等于應(yīng)用的包名。

啟動(dòng)新的Task:

Intent intent = new Intent(this,IntentTimeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

當(dāng)AMS發(fā)現(xiàn)啟動(dòng)了一個(gè)FLAG_ACTIVITY_NEW_TASK標(biāo)簽的Activity時(shí),會(huì)先去尋找當(dāng)前是否存在這個(gè)Activity的task值,如果不存在的話,就會(huì)創(chuàng)建該task,如果存在就省去了創(chuàng)建 task這個(gè)步驟,然后在把要啟動(dòng)的Activity添加到task中。AMS分配的taskId是線性遞增的,每次開啟一個(gè)新的task,taskId進(jìn)行+1的操作。

「allowTaskReparenting」是Activity的一個(gè)屬性,用于配置是否允許該Activity更換從屬的任務(wù)(Task)。當(dāng)一個(gè)Activity設(shè)置了allowTaskReparenting屬性,并且值為true時(shí),該Activity可以從其啟動(dòng)的任務(wù)(Task)移動(dòng)到由taskAffinity屬性指定的任務(wù)(Task)中。如果allowTaskReparenting的值為false(默認(rèn)值),Activity將保持在其啟動(dòng)的任務(wù)(Task)中,并在那里耗盡其整個(gè)生命周期。

<activity 
    android:name=".MainActivity"
    android:allowTaskReparenting="true"/>

taskAffinity和allowTaskReparenting這兩個(gè)屬性會(huì)一起使用,實(shí)現(xiàn)將一個(gè)應(yīng)用程序的Activity移動(dòng)到另一個(gè)應(yīng)用程序的任務(wù)(Task)中的功能。例如,當(dāng)需要在多個(gè)應(yīng)用程序之間共享某些Activity時(shí)。

責(zé)任編輯:武曉燕 來源: 沐雨花飛蝶
相關(guān)推薦

2020-09-24 10:14:27

云計(jì)算云原生數(shù)據(jù)

2014-07-14 17:35:29

Activity

2010-08-12 16:10:44

Flex應(yīng)用程序

2023-09-01 00:05:40

2024-05-21 12:45:55

2011-02-24 12:20:32

2011-03-17 15:01:14

一次性試用品應(yīng)用程序忠實(shí)用戶

2011-09-01 10:23:14

2020-02-14 13:17:36

任務(wù)管理器Windows 10應(yīng)用程序

2024-03-22 11:40:40

Node.jsNodeCRUD

2021-11-24 09:00:00

云計(jì)算開發(fā)應(yīng)用

2010-08-10 15:26:38

Flex應(yīng)用程序

2021-04-08 08:06:55

SAP應(yīng)用程序攻擊

2024-09-23 17:01:10

2024-06-24 10:53:23

2010-12-13 11:40:17

Android應(yīng)用程序

2020-08-25 14:03:20

應(yīng)用程序屏蔽應(yīng)用程序內(nèi)保護(hù)網(wǎng)絡(luò)攻擊

2011-11-03 09:41:35

Android簽名安全性

2019-07-21 07:46:46

應(yīng)用安全惡意軟件漏洞

2022-08-03 08:21:16

FindexLinux應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)