日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android之FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

發(fā)布時(shí)間:2023/12/4 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android之FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET:重置該task時(shí)清除該activity

這個(gè)標(biāo)志將會(huì)非常有用當(dāng)你想在你的應(yīng)用中有個(gè)邏輯切換,例如,一個(gè) e-mail的應(yīng)用可能用于一個(gè)命令去顯示附件,這個(gè)命令啟動(dòng)一個(gè)圖片瀏覽的activity去顯示附件,這個(gè)activity是e-mail應(yīng)用的一部分,因?yàn)樗怯脩敉瓿蛇@件事情的一部分。但是,當(dāng)用戶離開這個(gè)e-mail應(yīng)用,一段時(shí)間過(guò)后用戶又從home選擇這個(gè)應(yīng)用,我們更希望這個(gè)時(shí)候回到的界面是顯示命令用于交互的界面,而不是顯示附件的圖片界面。通過(guò)設(shè)置這個(gè)標(biāo)志,當(dāng)加載圖片附件時(shí),包括它本身及它加載的activity在下一次回到該應(yīng)用時(shí)都會(huì)刪除


實(shí)例:

我們有兩個(gè)activity:MainActivity和ActivityA.,從MainActivity啟動(dòng)ActivityA,我們?cè)O(shè)置flag?FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

public void onClick(View arg0) { // TODO Auto-generated method stub Log.i(TAG, "--onClick--task id = " + getCurrentTaskId()); Intent intent = new Intent("com.leaves.ipanel.ActivityA"); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); startActivity(intent); }


我們看一下這個(gè)時(shí)候的堆棧: ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities) Main stack: TaskRecord{42593878 #4 A com.leaves.ipanel U 0} Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.leaves.ipanel/.MainActivity bnds=[163,708][307,852] } Hist #2: ActivityRecord{4267ccb0 u0 com.leaves.ipanel/.ActivityA} Intent { act=com.leaves.ipanel.ActivityA flg=0x80000 cmp=com.leaves.ipanel/.ActivityA } ProcessRecord{4373d460 1722:com.leaves.ipanel/u0a10061} Hist #1: ActivityRecord{4266be38 u0 com.leaves.ipanel/.MainActivity} Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.leaves.ipanel/.MainActivity bnds=[163,708][307,852] } ProcessRecord{4373d460 1722:com.leaves.ipanel/u0a10061} TaskRecord{426f4820 #2 A com.android.launcher U 0} Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10600000 cmp=com.android.launcher/com.android.launcher2.Launcher } Hist #0: ActivityRecord{4291c7b0 u0 com.android.launcher/com.android.launcher2.Launcher} Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher/com.android.launcher2.Launcher } ProcessRecord{4267f0b8 636:com.android.launcher/1000}


然后我們按home鍵切換到launch,在從launch上啟動(dòng)該apk,這個(gè)時(shí)候會(huì)進(jìn)行任務(wù)的reset.可以看到,顯示的是MainActivity.相關(guān)堆棧:
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities) Main stack: TaskRecord{42593878 #4 A com.leaves.ipanel U 0} Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.leaves.ipanel/.MainActivity bnds=[163,708][307,852] } Hist #1: ActivityRecord{4266be38 u0 com.leaves.ipanel/.MainActivity} Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.leaves.ipanel/.MainActivity bnds=[163,708][307,852] } ProcessRecord{4373d460 1722:com.leaves.ipanel/u0a10061} TaskRecord{426f4820 #2 A com.android.launcher U 0} Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10600000 cmp=com.android.launcher/com.android.launcher2.Launcher } Hist #0: ActivityRecord{4291c7b0 u0 com.android.launcher/com.android.launcher2.Launcher} Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher/com.android.launcher2.Launcher } ProcessRecord{4267f0b8 636:com.android.launcher/1000}

可以看到ActivityA被銷毀了。

總結(jié)

以上是生活随笔為你收集整理的Android之FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。