簡體   English   中英

避免返回上一個活動

[英]Avoid returning to previous activity

我有一個應用程序,一開始可以檢查用戶是否已登錄並以兩種方式運行:

1)如果用戶已登錄,則直接從第二個活動開始跳過注冊/登錄活動

2)讓用戶從相對活動開始進行注冊/登錄過程

但是我有一個問題:如果用戶已登錄(該應用程序直接從第二個活動啟動)並按返回軟鍵,則該應用程序將顯示注冊/登錄活動。

我該如何避免呢?

我當時正在考慮通過在第二個活動中調用onBackPressed()來修改軟鍵的行為,但是我認為這不太正確...

您可以做的是通過startActivityForResult()啟動第二個活動,並覆蓋onActivityResult 當您從第二個活動返回時(如果已注銷),請使用單獨的requestCode;對於另一個活動(即,按下后退按鈕),將其重寫為finish()

假設您擁有StartActivity ,它具有打開LoginActivityMainActivity的邏輯。 向您AndroidManifest.xml添加以下XML:

    <activity
        android:name="com.example.StartActivity"
        android:label="@string/app_name"
        android:noHistory="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

並在您的StartActivity ,在調用startActivity(newActivityIntent)調用finish() 例:

Intent intent;
if (isLoginRequired) {
    intent = new Intent(this, LoginActivity.class);
} else {
    intent = new Intent(this, MainActivity.class);
}
startActivity(intent);
finish();

暫無
暫無

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

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