2013-04-18 68 views
-1

我的應用程序包含兩個活動類。從第一個活動的用戶可以登錄,從第二個活動的用戶可以查看他們的項目details.I'm保持會話還註銷按鈕。在我的應用程序中,如果用戶點擊後退按鈕從第二個活動,然後它進入應用程序部分(意味着主菜單),並在一段時間後,用戶點擊我的應用程序圖標它會去第一個活動而不是第二個活動,但用戶沒有註銷。
I want user should go to second activity not first activity if user already login。我曾嘗試,但 不工作,但我仍在嘗試。
我該如何做以上的東西,請有人建議我的答案。Android:如何保持後退按鈕上的會話?

+0

那麼它回家就意味着主應用程序.......你是什麼意思?退出應用程序? – stinepike

+0

是退出應用程序。 – Nilesh

回答

0

您應該將當前用戶的狀態保存到SharedPreferences

在您登錄活動的的onCreate方法,你叫的setContentView()之前,您可以檢查用戶是否登錄。如果這是真正打開新的活動祝startActivity()和請致電在當前活動完成()。如果不是繼續正常調用setContentView()

這樣,如果她說出裏面SharedPreferences登錄活動將不可見設置爲登錄。

+0

良好的工作fine.thanks – Nilesh

0

你不必顯示的第一項活動。但實際上總是有主要活動。這應該決定是直接開始登錄活動還是直接顯示用戶內容。 只要您開始登錄或內容活動,就可以使用主要活動的完成(),因此當用戶向後推()時,他將不會再看到主要活動。

MainActivity extends Activity 
{ 
public void onCreate() 
{ 
    if isLogged() 
    startActivity(new Intent(ContentActivity ...)); 
    else 
    startActivity(new Intent(LoginActivity...)); 
    finish() 
} 

LoginActivity extends Activity 
{ 
    ... 
    public void onLoginSuccess(String username) 
    { 
    // called from dialog OK button and login process success 
    startActivity(new Intent(ContentActivity ...)); 
    finish(); 
    } 
} 
+0

很好的解決方案,但爲什麼你寫在LoginSuccess?我認爲MainActivity足以檢查用戶登錄信息。我只寫了if isLogged()startActivity(new Intent(SecondActivity ...))是否正常? – Nilesh