2013-10-17 99 views
0

我有一個Splash Activity,登錄活動和儀表板。OnBackButtonPressed =>我的應用應該關閉或移動到背景

飛濺活動做GCM等工作。 登錄將只有登錄。

現在,如果我登錄並移動到儀表板,當用戶按下儀表板上的按鈕時,它應該重定向用戶退出,而不是在登錄屏幕上。同樣,如果用戶會話過期,則應用程序將用戶重定向到登錄屏幕。

現在我在登錄屏幕上處理Backbutton,所以它不應該允許用戶返回到prev活動,但是如何允許用戶退出。

同樣,我在儀表板上處理了Backbutton,所以它不會允許用戶進入prev登錄屏幕。

  1. 飛濺=>登錄=>儀表板
  2. 飛濺=>儀表板(如果會議不能過期)
  3. 儀表板=>其他活動=>登錄

什麼是最好的方式從儀表板和登錄活動退出而不移動到之前的活動。

+1

您應該可以通過在開始下一個活動後立即在堆棧中不需要的活動上調用finish()來實現此目的。 –

+0

唯一的方法是完成堆棧中的最後一個活動。也許你可以我們startactivityforresult。 #see http://stackoverflow.com/questions/10407159/android-how-to-manage-start-activity-for-result –

回答

2

您可以完成該活動,或者您也可以在AndroidManifest.xml中聲明活動,使其不會停留在活動堆棧上。 Android docs

android:noHistory=["true" | "false"] 
+0

完美的解決方案,最簡單的方法來做到這一點 – Kasma

1

當用戶按下後退按鈕上的儀表板應該重定向用戶退出,無法登錄屏幕上。

對於這一點,你應該傳球意圖主頁屏幕這樣

startActivity(new Intent(ActivityLogin.this, ActivityHome.class)); 
      finish(); 

後完成的活動,如果會話中獲取過期,通過傳遞意圖再次啓動登錄活動。

startActivity(new Intent(ActivityHome.this, ActivityLogin.class)); 
finish(); 

您必須使用結束()每次在這種情況下,通過這種方式唯一的活動的一個實例將在那裏堆疊。

+0

好的解決方案... ... - – Kasma

相關問題