【问题标题】:how to send message from service to activity如何将消息从服​​务发送到活动
【发布时间】:2012-06-29 09:39:28
【问题描述】:

我构建了一个创建服务的 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);

我需要添加什么?请给我一个可以完成工作的代码。非常感谢。

【问题讨论】:

  • 您没有标记任何答案的任何原因?你都试过了吗,哪个答案对你有用?

标签: android service android-asynctask message


【解决方案1】:

一种方法是使用ResultReceiver。这是我最近发布的完整博客文章,其中包含一个示例。

How to update Activity from Service using ResultReceiver

【讨论】:

    【解决方案2】:

    要从服务向 Activity 发送消息或任何数据,您需要注册一个自定义广播接收器。有关从服务向 Activity 发送数据的信息,请参阅这些教程:

    Communication between service and activity – Part 1

    Custom Intents and Broadcasting with Receivers

    【讨论】:

      猜你喜欢
      • 2013-02-08
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多