how to send message from service to activity

送分小仙女□ 提交于 2019-12-07 01:35:39

问题


I build an AsyncTask that create a service and now I want to sent from service to AsyncTask message. my code on the AsyncTask is:

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

hope that it will handle the message from service correct my if I wrong.

and from service tried to do this

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

but my errors are cannot find symbol in lines:

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

What do I need to add? Please give me a code that will do the work. thanks a lot.


回答1:


One way is using ResultReceiver. Here is my complete blog post which I had recently posted with an Example.

How to update Activity from Service using ResultReceiver




回答2:


For sending a message or any data from service to Activity you will need to Register an Custom Broadcast receiver.see these tutorials for sending data from service to Activity:

Communication between service and activity – Part 1

Custom Intents and Broadcasting with Receivers



来源:https://stackoverflow.com/questions/11259453/how-to-send-message-from-service-to-activity

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!