如何将消息从服​​务发送到活动

时间:2012-06-29 09:39:28

标签: android service android-asynctask message

我构建了一个创建服务的AsyncTask,现在我想从服务发送到AsyncTask消息。 我在AsyncTask上的代码是:

  class ResponseHandler extends Handler {
  public void handleMessage(Message message) {
       // Toast.makeText(this, "message from service",Toast.LENGTH_SHORT).show();
 }

希望它能处理来自服务的消息纠正我的错误。

并且从服务尝试这样做

     Message message = Message.obtain(null, MyService.ADD_RESPONSE_HANDLER);
     message.replyTo = messenger;
      try {
             myService.send(message);
             catch (RemoteException e) {
             e.printStackTrace();
         }

但是我的错误无法在行中找到符号:

 MyService.ADD_RESPONSE_HANDLER
  message.replyTo = messenger;
  try {
  myService.send(message);

我需要添加什么?请给我一个代码来完成这项工作。非常感谢。

2 个答案:

答案 0 :(得分:6)

一种方法是使用ResultReceiver。这是我最近用一个例子发布的完整博客文章。

How to update Activity from Service using ResultReceiver

答案 1 :(得分:4)

要将消息或任何数据从服务发送到Activity,您需要注册自定义广播接收器。请参阅这些教程,以便将数据从服务发送到活动:

Communication between service and activity – Part 1

Custom Intents and Broadcasting with Receivers