3

我正在使用服务将文件上传到服务器,并且在文件上传后我得到了一些结果. 根据这些回调,我需要从调用我的服务的位置更改我的活动。目前我正在使用不同的广播发送和接收这样的。

Intent w = new Intent("<KEY>");
w.putExtra("***", ***);
sendBroadcast(w);

它现在工作正常,但我想知道这样做是正确的方法还是有更好的方法?我也很喜欢从活动中传递处理程序并从服务中传递消息队列,但我对此并不满意。

4

1 回答 1

1

使用BroadcastReceivers完全没问题。但是,如果您的工作人员上传线程需要一次性运行,那么 AsyncTask 可能更适合您的需求。您在其中完成工作doInBackground,然后使用它onPostExecution()来更新您的 GUI。

正如您所说,您还可以在 Activity 中使用 Handler。但是,您的服务将需要成为绑定服务,以便您能够将处理程序传递给服务。

对于非常简单的事情,我建议您使用 AsyncTask。

于 2013-07-20T06:47:27.927 回答