[英]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.