Android 如何将消息从意图服务发送到活动
基本上,我有一个活动,它有一个进度对话框,我正在向一个意图发送一条消息,以从互联网加载所有数据,而不会在应用程序中出现任何问题。但是,我能够向服务发送消息,但无法将消息重新发送到活动。 怎么办 以下是我向服务发送消息的方式:Android 如何将消息从意图服务发送到活动,android,android-activity,intentservice,Android,Android Activity,Intentservice,基本上,我有一个活动,它有一个进度对话框,我正在向一个意图发送一条消息,以从互联网加载所有数据,而不会在应用程序中出现任何问题。但是,我能够向服务发送消息,但无法将消息重新发送到活动。 怎么办 以下是我向服务发送消息的方式: final Handler handler = new Handler() { @Override public void handleMessage(Message msg) { } }; final Intent intent = new In
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
}
};
final Intent intent = new Intent(this, FillingDatabase.class);
final Messenger messenger = new Messenger(handler);
intent.putExtra("messenger", messenger);
startService(intent);
messenger = (Messenger) intent.getParcelableExtra("messenger");
message = Message.obtain(null, 1234);
messenger.send(message);
下面是我如何从服务接收信息的:
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
}
};
final Intent intent = new Intent(this, FillingDatabase.class);
final Messenger messenger = new Messenger(handler);
intent.putExtra("messenger", messenger);
startService(intent);
messenger = (Messenger) intent.getParcelableExtra("messenger");
message = Message.obtain(null, 1234);
messenger.send(message);
但我不知道如何在活动中接收这些信息,有人能解释一下这种方法吗?
谢谢大家! 使用
handler.dispatchMessage()
并发送一条空消息。声明处理程序静态并按类名访问它,或者简单地创建类的对象然后访问它
我想你也可以用
handler.SendEmptyMessage() 按如下方式进行尝试:
private Handler handler = new Handler()
{
public void handleMessage(Message message)
{
final Intent intent = new Intent(this, FillingDatabase.class);
final Messenger messenger = new Messenger(handler);
intent.putExtra("messenger", messenger);
startService(intent);
};
};
这是你的精确解 这个问题在这里已经解决了 为了更好地理解这一点,这里有一个工作示例,您可以直接使用它进行实现
如果对您有效,请将其标记为OK。@GrlsHu我收到了此错误:局部变量处理程序可能尚未初始化将您的
处理程序
设置为final
类似private final handler handler=new handler()
@GrlsHu,但您没有回答我的问题,我如何接收消息??