我有一個登錄屏幕,成功登錄後,將轉到LandingPage,然後從LandingPage導航到LastActivity。使用FLAG_ACTIVITY_CLEAR_TOP來安裝已經以finish()結束的活動;
如果我按LastActivity上的後退按鈕,我的導航需要我回到LandingPage。所以我在使用intenet啓動LastActivity時沒有使用finish()
。
單擊LastActivity上的logOut按鈕應該帶我到LoginPage,它會,但是如果我按下LoginPage上的按鈕,它會將我帶回LandingPage。這是不希望的行爲。 這是我用來導航到活動代碼 -
Intent intent = new Intent(context, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
startActivity(intent);
我使用這個標誌錯了嗎?
編輯 - 活動 流量 - LoginActivity - >的LandingPage - >從最後一項活動註銷lastActivity ,它應該去loginActivity。
您是否在啓動LandingPage時調用finish()?如果你這樣做,只要刪除它。 –
是的,在調用LandingPage的意圖中,我調用了finish(),但我猜在這種情況下,即使我的「LoginActivity」也不會完成。我對嗎? – Darpan
如果您從LoginActivity調用startActivity(..,LandingPage)然後調用finish(),那麼您的LoginActivity將被銷燬,並且標誌CLEAR_TOP無用,因爲堆棧中沒有LoginActivity。 –