2011-09-14 104 views
1

我正在開發一個Android應用程序。我想退出我的應用程序,但應用程序應該在後臺運行狀態。每當我點擊應用程序應用程序應從上次退出點開始。我不想再次登錄。暫停您的應用程序

當我按Home按鈕時,同樣的事情正在發生。但我想在自己的按鈕事件上實現類似Home按鈕的功能。我應該如何繼續?

雖然我已經完成了所有其他活動,我仍然需要重新登錄。當我完成活動時,我的會話在那裏結束。並在下一個應用程序開始登錄屏幕。

而在家裏點擊按鈕的情況下,它使我的會議,並在下次啓動應用我的應用程序檢查,其中我檢查會話是否存在或不的onResume()事件。如果會議在那裏,我可以直接進入我的帳戶。

所以任何人有任何的想法,當我們按下home鍵的android究竟做了什麼。

+0

猜你想要做這樣的事情:http://stackoverflow.com/questions/151777/how-do-i-save-an-android-applications-state 但是,如果你想留下一些在後臺運行的代碼需要將其移動到服務中,因爲如果需要資源,非活動活動可能會被os終止。 –

+0

重複的http://stackoverflow.com/questions/7403945/need-help-for-closing-my-android-app – Jasoneer

回答

0

我所知道的最好的方法是在你的情況,你想退出是這樣的:

  1. 保存在登錄時的登錄憑據並註銷清楚。
  2. 當您的應用程序啓動時檢查憑據,如果它存在,那麼您應該登錄而不詢問用戶。

上述過程不會帶來您最近的活動,而是您登錄後顯示的活動。

要恢復上次退出的活動,您可以使用moveTasktoback(true),因爲它會在按Home鍵時將您的應用放在背景中,但它的行爲不會保持不變,因爲Android可以在任何時候都會終止您的應用需要記憶。

0

在最後一個問題回答,如果你看過this文章將是巨大的。我希望它能讓你對系統中發生的事情有所瞭解。

0

你的意思是登錄到一個網絡應用程序?無論活動如何,WebView均可在應用程序範圍內保存Cookie信息

否則,使用一個靜態變量或單例類持有任何會話狀態和活動開始,檢查靜態變量或單例類的任何其他國家他們重定向到登錄界面。

0

您可以在活動呼叫moveTaskToBack

0

創建一個按鈕,您想暫停(我的意思是在哪個活動中)應用程序。並寫下如下代碼。這會暫停你的應用程序。

button.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v) { 

       moveTaskToBack(true); 
      } 

     });