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 に答える