我已經使用Android sample project,Steele的兩部分教程(1和2)和Google I/O 2010談話在REST應用程序中設置了SyncAdapter。Android SyncAdapter服務:在onPerformSync結束後保持活動狀態?
看起來像AbstractThreadedSyncAdapter在onPerformSync完成後立即在SyncAdapter服務上立即調用onDestroy。我想從SyncAdapter服務中分離出其他線程,我想知道是否可以保持SyncAdapter服務處於活動狀態,直到這些線程完成 - 例如,將這些異步工作線程的回調註冊回SyncAdapter服務。
是否有可能做到這一點,而不會殺死onPerformSync後的服務?或者您是否必須將所有同步方法放入SyncAdapter onPerformSync方法中的同一個線程中?
我的同步時間很長,我想要一個進度條。目前,我正在將舊的AsyncTask與onProgressUpdate所有設置移動到新的SyncAdapter,並希望複製相同的用戶界面。讓服務執行AsyncTask可以正常工作。並想知道是否可以通過從服務中產生相同的AsyncTask來使用相同的onProgressUpdate,就像其他服務一樣。否則,我會做一個完整的重寫。 – abloc
「...所以當onPerformSync完成時,這是一種告訴Android的工作完成的方式,它應該專注於它必須同步的下一個應用程序。」 Android爲什麼不能/不應該通過並行來完成這個設計原因是什麼? PS我試圖同步到一個Azure移動服務,它只公開了一個異步回調體系結構,所以我想基於這裏所說的,我將把它們包裝在某種等待塊中。但這是你爲什麼想要做OP建議的誘惑。 – Merk
@ alex-lockwood如果在onPerformSync方法中出現問題,有什麼方法可以實現故障切換。就像我們進行網絡通信一樣,並且在連接期間超時。那麼同步如何處理這個問題或我們如何處理這種情況? – Scorpion