我想从活动中的AsyncTask移动到IntentService。我的主要目标是保持尽可能多的活动,以便在不依赖活动来处理结果的情况下轻松地从应用程序中的不同位置触发服务。与onPostExecute for InServiceService类似吗?
在一个AsyncTask中,我会使用onPostExecute在完成所有繁重工作后处理结果,但对于IntentService来说似乎并不存在。我讨厌使用ResultReceiver的想法,因为我必须分析结果数据,强制主线程处理反序列化。有没有其他的选择我失踪了,然后转身,让ResultReceiver使用AsyncTask来反序列化结果?
谢谢!
更新
我不能想出什么好,所以我结束了使用ResultReceiver。我的服务将原始数据(字符串)返回给接收方,然后接收方解析字符串并创建Java对象。我的接收器使用强类型对象回调我的活动。它工作得很好,但它肯定感觉笨拙,不得不使用服务,接收器和内部接收器回调类。
您可以从onstart方法调用asycntask – koutuk 2014-11-22 06:22:32