2017-04-19 13 views
1

は、私は、関数の下に使用してチャット履歴を取得しようとしています:メッセージIDからメッセージを取得するにはどうすればよいですか?

var mamManager:MamManager= MamManager.getInstanceFor(connection) 
    var prevMsg=mamManager.queryArchive(JidCreate.entityBareFrom(jid)).forwardedMessages 

     println(msg.forwardedStanza) 

しかし、私はまたmsg.forwardedStanza.stanzaIdを使用してスタンザIDを取得することができます

04-19 14:17:58.414 7964-7964/com.example.itstym.smackchat I/System.out: Message Stanza [[email protected],[email protected]/307135084148417199024926,id=qQ73x-27,] 

として出力を取得していますが、どのようになります私はmsgのテキストを取得します。

答えて

0

転送されたスタンザをメッセージにキャストし、getBody()を呼び出します。

+0

ねえ、あなたがこの質問を見ることができますhttp://stackoverflow.com/questions/43541753/not-able-to-receive-group-message-using-smack?noredirect=1 #comment74135452_43541753 –

0

getBody()はMessage用で、ForwardedStanzaはStanzaを拡張し、Message、IQ、Presenceのいずれかになります。

これを試してみてください:

if (forwarded.getForwardedStanza() instanceof Message) { 
     String body = ((Message) forwarded.getForwardedStanza()).getBody(); 
    } 
関連する問題