Android:在Beem App中设置聊天状态通知

时间:2012-07-06 04:36:32

标签: android xmpp

我目前正在使用Beem's源代码进行开发。我想实现聊天状态通知。我查看了代码并发现有一个setState()方法,但我相信它还没有实现,我没有关于如何做到这一点的线索。如果我使用Adium向Beem用户键入消息,则Beem用户可以看到Adium用户正在撰写消息。但是如果两个用户都在使用Beem,那么如果用户正在撰写邮件,则不会显示。因此,我想尝试实现聊天状态通知。我该怎么做呢?那里有指南吗?有人能帮我吗?谢谢!

1 个答案:

答案 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();
    }