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

标签 android xmpp

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

最佳答案

将此代码添加到 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();
    }

关于Android:在 Beem App 中设置聊天状态通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11355901/

相关文章:

python - 断言错误: No api proxy found for service "xmpp"

android - 谷歌云消息限制

xmpp - 即使与XMPP服务器断开连接,如何保持群聊室(MUC)始终存在?

android - 您在 onConfigurationChanged 中使用与 onCreate 中相同的方法吗?

java - Android studio 不同屏幕尺寸像素

java - 滚动时,ListView Listview 项目会改变位置。为什么?

android - 如何验证 Android apk 是否使用发布证书进行签名?

android - 如何减少 Android 模拟器资源消耗?

facebook-graph-api - 如何获取 XMPP 聊天线程的线程 ID?

xmpp - smack、tinder 和 whack 之间的区别