我创建了3个活动。首先是 loginactivity 来检查登录详细信息。登录成功后,它会跳转到 displayactivity ,我曾经在列表视图中显示某个人的联系人。从列表视图中选择任何联系人后跳转到3个 messageactivity 活动,以显示2个用户之间的聊天。现在我的问题是我在哪里以及如何实现messageListener以便我可以在特定用户的 messageactivity 中显示从其他用户收到的消息?
答案 0 :(得分:4)
我建议你在XMPPConnection中使用PacketListener而不是MessageListener用于你的个人聊天。您将通过此监听器接收发送给您的所有消息(过滤器指定的类型,最有可能是聊天),然后您可以做任何您想要的事情,无论您是与之聊天的人还是其他人。
这样的事情:
PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
connection.addPacketListener(new PacketListener()
{
public void processPacket(Packet packet)
{
Message message = (Message) packet;
String body = message.getBody();
String from = message.getFrom();
}
}, filter);
与此同时,您可能必须使用sendPacket而不是sendMessage,但它几乎相同,您不必担心单个Chat实例。我希望它能达到目的。