我构建了一个创建服务的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);
我需要添加什么?请给我一个代码来完成这项工作。非常感谢。
答案 0 :(得分:6)
一种方法是使用ResultReceiver
。这是我最近用一个例子发布的完整博客文章。
答案 1 :(得分:4)
要将消息或任何数据从服务发送到Activity,您需要注册自定义广播接收器。请参阅这些教程,以便将数据从服务发送到活动: