第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

你如何使用Intent.FLAG_ACTIVITY_CLEAR_TOP清除活動(dòng)堆棧?

你如何使用Intent.FLAG_ACTIVITY_CLEAR_TOP清除活動(dòng)堆棧?

繁華開滿天機(jī) 2019-09-02 08:24:17
我已經(jīng)閱讀了幾篇關(guān)于使用它的帖子,但必須遺漏一些因?yàn)樗贿m合我。我的活動(dòng)A在清單中有l(wèi)aunchmode =“singleTop”。它啟動(dòng)活動(dòng)B,啟動(dòng)模式=“singleInstance”?;顒?dòng)B打開瀏覽器并接收和意圖返回,這就是為什么它是singleInstance。我試圖覆蓋后退按鈕,以便用戶被發(fā)送回活動(dòng)A,然后可以按Back返回活動(dòng),而不是再次返回活動(dòng)B.// activity B@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event)  { if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR  && keyCode == KeyEvent.KEYCODE_BACK  && event.getRepeatCount() == 0) onBackPressed(); return super.onKeyDown(keyCode, event);}@Overridepublic void onBackPressed() { startActivity(new Intent(this, UI.class) .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK)); return;}從瀏覽器返回后,堆棧是...... A,B,瀏覽器,B我希望這段代碼能夠?qū)⒍褩8臑?..... A ...以便再次按下后再將用戶帶回主屏幕。相反,它似乎將堆棧更改為... A,B,瀏覽器,B,A ......好像那些標(biāo)志不在那里。我嘗試在startActivity之后調(diào)用活動(dòng)B中的finish(),但后面的按鈕再次將我?guī)Щ貫g覽器!我錯(cuò)過(guò)了什么?謝謝!
查看完整描述

3 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

我已經(jīng)開始活動(dòng)A-> B-> C-> D. 當(dāng)按下后退按鈕時(shí),活動(dòng)DI想要轉(zhuǎn)到活動(dòng)A.由于A是我的起點(diǎn),因此已經(jīng)在堆棧中,A頂部的所有活動(dòng)都被清除,你不能回到A的任何其他活動(dòng)。


這實(shí)際上適用于我的代碼:


@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) {

        Intent a = new Intent(this,A.class);

        a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

        startActivity(a);

        return true;

    }

    return super.onKeyDown(keyCode, event);

}    


查看完整回答
反對(duì) 回復(fù) 2019-09-02
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

為此,我使用FLAG_ACTIVITY_CLEAR_TOP標(biāo)志啟動(dòng)Intent

(沒有FLAG_ACTIVITY_NEW_TASK)


并launchMode = "singleTask"在發(fā)布活動(dòng)的清單中。


似乎它按我的需要工作 - 活動(dòng)不會(huì)重新啟動(dòng),所有其他活動(dòng)都會(huì)關(guān)閉。


查看完整回答
反對(duì) 回復(fù) 2019-09-02
?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊

雖然這個(gè)問(wèn)題已經(jīng)有了足夠的答案,但我想有人會(huì)想知道為什么這個(gè)標(biāo)志以這種特殊的方式工作,這就是我在Android文檔中找到的


上面示例中當(dāng)前運(yùn)行的活動(dòng)B實(shí)例將在其onNewIntent()方法中接收您從此處開始的新intent,或者本身已完成并使用新intent重新啟動(dòng)。


如果它已將其啟動(dòng)模式聲明為“多個(gè)”(默認(rèn)值)并且您沒有在同一意圖中設(shè)置FLAG_ACTIVITY_SINGLE_TOP,那么它將被完成并重新創(chuàng)建; 對(duì)于所有其他啟動(dòng)模式或如果設(shè)置了FLAG_ACTIVITY_SINGLE_TOP,則此Intent將被傳遞到當(dāng)前實(shí)例的onNewIntent()。



所以,要么, 

1。launchMode從標(biāo)準(zhǔn)(即。singleTask或某事物)將活動(dòng)A 更改為其他內(nèi)容。那么你的旗幟FLAG_ACTIVITY_CLEAR_TOP將不會(huì)重新啟動(dòng)你的活動(dòng)A.


要么,


2。使用Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP為您的標(biāo)志。然后它會(huì)以你想要的方式工作。


查看完整回答
反對(duì) 回復(fù) 2019-09-02
  • 3 回答
  • 0 關(guān)注
  • 601 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)