2012-10-22 95 views
0

我有以下問題,我想設計實現以確保我不會遇到任何問題。Android啓動過程和主要活動 - 設計模式

在應用程序啓動時,我需要執行一個(且只有一個)服務器請求以保持手機處於最新狀態。然後我進入主要活動。

我最大的問題是Android的後退按鈕,它可能會將我的堆棧帶回第一個活動,即服務器同步的活動。

我已經想好了以下實現的:

  1. 我公司推出的主要活動馬上
  2. 在主ActivityonCreate(),我啓動同步過程......一些背景標誌​​,進展酒吧等等等等......
  3. 完成同步後,我在我的Activity上撥打finish()函數。

我會再返回onCreate(),或直接到onResume()的主Activity? 這個實現是否有意義?

回答

0

修訂

以防止觀看你的第一個Activity再次,你只需要添加下面一行到你Activity聲明

<activity 
     android:name=".FirstActivity" 
     android:noHistory="true" /> 

使用noHistory標籤將刪除你的Activity無需要以編程的方式完成你的自我

0

你可以繼續做同樣的事情,但對於第一個活動w在這裏你做同步的事情,讓它成爲一個非歷史的任務。 http://developer.android.com/guide/topics/manifest/activity-element.html#nohist

或者在您的第一個活動中,在您致電startActivity(MainActivity)之後,您可以調用finish(),並通過該方法將FirstActivity從後臺堆棧中移除,然後MainActivity將保留在堆棧頂部。

希望有所幫助。

UPDATE

我的意思是說,讓FirstActivity是你的第一個活動,你從FirstActivity開始MainActivity。在您的FirstActivity中致電startActivity()後,請在下一個聲明中致電finish()。這完全可以接受。

+0

謝謝... API非常豐富!我錯過了這一個... –

+0

如果它解決了你的問題,接受答案。 – Enigma