簡體   English   中英

如何銷毀一個活動,使其在按下后退按鈕時不顯示?

[英]How to destroy an Activity so it doesn't show up when the back button is pressed?

我有兩個活動,A和B。這是一個正常的情況:A正在運行,然后向B發送一個意圖。A被暫停,並且B顯示。 當用戶按下B的后退按鈕時,B被破壞,並且用戶返回到A。

但是,在某些情況下,B需要重新創建自己。 為此,我在B上調用finish() ,然后調用startActivity() ,這很好用。 但是,當我單擊“后退”按鈕時,它再次顯示B,因此我需要再次單擊“后退”按鈕以返回到A。

如何重新啟動B,但仍然只能按一次返回按鈕返回A?

以下將在啟動下一個意圖時處理當前活動:

Intent launchNext = new Intent(getApplicationContext(), NextActivity.class);
launchNext.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(launchNext);

要覆蓋后退按鈕,請使用以下命令:

@Override
public void onBackPressed() {
    super.onBackPressed();
    this.finish(); // or do something else
}

這可以通過仔細查看您的意圖標志來解決。 查看http://developer.android.com/reference/android/content/Intent.html ,它們會提供有關您要拍攝的生命周期的更多信息。

另外,不要忘記您可以覆蓋后退按鈕功能。 如果您想更緊密地管理生命周期,這可能會有所幫助。 例如,您還可以確保從B返回到A。如果回到A,則關閉您的應用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM