问题
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