[英]Avoid returning to previous activity
我有一個應用程序,一開始可以檢查用戶是否已登錄並以兩種方式運行:
1)如果用戶已登錄,則直接從第二個活動開始跳過注冊/登錄活動
2)讓用戶從相對活動開始進行注冊/登錄過程
但是我有一個問題:如果用戶已登錄(該應用程序直接從第二個活動啟動)並按返回軟鍵,則該應用程序將顯示注冊/登錄活動。
我該如何避免呢?
我當時正在考慮通過在第二個活動中調用onBackPressed()
來修改軟鍵的行為,但是我認為這不太正確...
您可以做的是通過startActivityForResult()
啟動第二個活動,並覆蓋onActivityResult
。 當您從第二個活動返回時(如果已注銷),請使用單獨的requestCode;對於另一個活動(即,按下后退按鈕),將其重寫為finish()
。
假設您擁有StartActivity
,它具有打開LoginActivity
或MainActivity
的邏輯。 向您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.