1

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

4

1 回答 1

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();
    }
于 2015-06-07T20:05:38.310 回答