2014-03-25 27 views
1

我想知道是否有任何方式來運行後臺線程,在所有活動後面工作。我需要在我的移動應用程序的PHP服務器上更新會話,但我不想在每個AsyncTask類的doInBackground中創建會話,但是在某些線程工作在所有活動後面並每隔15分鐘連接到服務器,以更新會話,所以我可以將SID存儲在數據庫中,並在每次需要請求時使用它。Android - 後臺線程來更新PHP會話

我閱讀了Handler和Service,但據我所知,他們只在特定的活動中工作,而不是在整個應用程序的背景下工作,並且我無法根據需要續訂會話。我錯了嗎?

或者可以用RoboSpice lib以某種方式處理它嗎?我聽說過它,但從未檢查過它的功能。

對不起,如果我錯過了類似的問題已經問及回答。

回答

1

RoboSpice旨在使寫入後臺執行的網絡請求變得容易。所以,是的,它有助於從客戶端擴展服務器端的會話。

不過,RoboSpice與計時器無關。那麼,要實現這一點,你將需要:

  • 使用Android
  • 到告警管理器,然後給它一個懸而未決的意圖來喚醒自己
  • 該服務的服務可以使用RoboSpice創建網絡請求將擴展服務器的會話。

詳情點擊這裏:http://developer.android.com/training/scheduling/alarms.html

不要忘了從報警經理正確地註銷,當你不再需要你的會話擴展,否則你會耗盡電池。

+0

謝謝。上週我用AlarmManager和Service做了它。現在我正在努力做所有必要的事情來關閉應用程序並清除所有內容 - 就像你說的那樣,以防止電池耗盡。 – bqr