我想從活動中的AsyncTask移動到IntentService。我的主要目標是保持儘可能多的活動,以便在不依賴活動來處理結果的情況下輕鬆地從應用程序中的不同位置觸發服務。與onPostExecute for InServiceService類似嗎?
在一個AsyncTask中,我會使用onPostExecute在完成所有繁重工作後處理結果,但對於IntentService來說似乎並不存在。我討厭使用ResultReceiver的想法,因爲我必須分析結果數據,強制主線程處理反序列化。有沒有其他的選擇我失蹤了,然後轉身,讓ResultReceiver使用AsyncTask來反序列化結果?
謝謝!
更新
我不能想出什麼好,所以我結束了使用ResultReceiver。我的服務將原始數據(字符串)返回給接收方,然後接收方解析字符串並創建Java對象。我的接收器使用強類型對象回調我的活動。它工作得很好,但它肯定感覺笨拙,不得不使用服務,接收器和內部接收器回調類。
您可以從onstart方法調用asycntask – koutuk 2014-11-22 06:22:32