要解决Android Messenger在注册的Handler中未接收到消息的问题,可以按照以下步骤进行:
Messenger messenger = new Messenger(new IncomingHandler());
class IncomingHandler extends Handler {
@Override
public void handleMessage(Message msg) {
// 处理接收到的消息
}
}
Message message = Message.obtain();
// 设置消息类型和内容
messenger.send(message);
Messenger messenger = new Messenger(new OutgoingHandler());
class OutgoingHandler extends Handler {
@Override
public void handleMessage(Message msg) {
// 处理接收到的消息
}
}
Messenger messenger = new Messenger(outgoingHandler);
messenger.register();
通过以上步骤,可以确保在注册的Handler中正确接收到消息。需要注意的是,Messenger只能在同一进程中进行IPC通信,如果需要跨进程通信,可以考虑使用AIDL或其他IPC机制。