簡體   English   中英

如何完成當前活動並開始另一個活動?

[英]How to finish the current activity and start another one?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);        
/**
     * Check for login session. If not logged in launch
     * login activity
     * */
    if (MyApplication.getInstance().getPrefManager().getUser() == null) {
        launchLoginActivity();
        Log.e(TAG, "Still im in MainActivity !!! ");
    }
 ....
 ....

這是啟動活動方法:

 private void launchLoginActivity() {
    Intent intent = new Intent(MainActivity.this, LoginActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    Log.e(TAG, "launchLoginActivity");
    startActivity(intent);
    finish();
}

該活動已啟動,但我仍處於主要活動中。

如您在控制台中所看到的,將顯示兩條日志消息。

一個在啟動方法中,另一個在啟動方法調用后的主活動中。

如何完成我的主要活動,而在主要活動中不顯示日志消息?

錯誤

onCreate()退出后,您的主要活動最終將結束。 在主要活動的onDestroy()放置一些調試日志,您將看到您進入那里。 如果要在調用第二個活動后跳過所有內容,則在此之后再輸入一個return 還有一個Activity.isFinishing() API,如果您的活動結束,該API將返回true。

好了,完成所討論的活動,然后返回,以便開始活動脫離“ onCreate”方法,並且活動在正常的活動周期中被破壞。

if (MyApplication.getInstance().getPrefManager().getUser() == null) {
    launchLoginActivity(); //the finish part already happens here. I did not see that.
    return;
    Log.e(TAG, "Still im in MainActivity !!! ");
}

暫無
暫無

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

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