我目前正在使用Beem's源代码进行开发。我想实现聊天状态通知。我查看了代码并发现有一个setState()方法,但我相信它还没有实现,我没有关于如何做到这一点的线索。如果我使用Adium向Beem用户键入消息,则Beem用户可以看到Adium用户正在撰写消息。但是如果两个用户都在使用Beem,那么如果用户正在撰写邮件,则不会显示。因此,我想尝试实现聊天状态通知。我该怎么做呢?那里有指南吗?有人能帮我吗?谢谢!
答案 0 :(得分:1)
将此代码添加到 ChatAdapter.java 文件中的 setState 方法。
org.jivesoftware.smack.packet.Message message = new org.jivesoftware.smack.packet.Message();
ChatStateExtension extension = null;
switch (state) {
case "composing":
extension = new ChatStateExtension(ChatState.composing);
break;
case "active":
extension = new ChatStateExtension(ChatState.active);
break;
case "inactive":
extension = new ChatStateExtension(ChatState.inactive);
break;
case "gone":
extension = new ChatStateExtension(ChatState.gone);
break;
case "paused":
extension = new ChatStateExtension(ChatState.paused);
break;
}
message.addExtension(extension);
try {
mAdaptee.sendMessage(message);
} catch (XMPPException e) {
e.printStackTrace();
}