2017-07-28 6 views
1

オフラインメッセージは、その人物が利用可能になったときにユーザーに配信されません。openfireサーバーを使用してオフラインメッセージを取得する際の問題

DelayInformation info =(DelayInformation)message.getExtension( "x"、 "jabber:x:delay");

を返します。

私がmessage.getExtensions()のコレクションを反復すると、遅延urn:xmpp:delayが発生します。

誰でもこれについて説明できます。 私はsmackとsmackx.jarを使用しています。 smackx.jarにはsmack.providersがありますが、それは考慮されていません。

urn:xmpp:delayを使用すると、クラスキャスト例外が発生することがあります。

DelayInformation inf =(DelayInformation)message.getExtension( "delay"、 "urn:xmpp:delay");

例外: とjava.lang.ClassCastException:org.jivesoftware.smack.packet.DefaultPacketExtension

+0

あなたのスムーズとランタイム環境(純粋なJavaやアンドロイド)のバージョンを教えてください –

+0

@LinYuCheng RunTime環境はjavaで、smack.jarを使用しています。参照用https://ufile.io/4vwz2 –

答えて

0

これはスマックライブラリを使用することにより、アンドロイドのためであるなら、これを試してみてください。

ExtensionElement delay = message.getExtension("urn:xmpp:delay"); 
if(message.getExtension("urn:xmpp:delay") != null){ 

    Log.i("RECVEIVED", "delay 1: " + delay.toXML()); 
    Log.i("RECVEIVED", "delay 2: " + delay.getNamespace()); 
    Log.i("RECVEIVED", "delay 3: " + delay.getElementName()); 
} 


ログイン出力:

I/RECVEIVED: delay 1: <delay xmlns='urn:xmpp:delay' stamp='2017-07-31T04:09:23.224+00:00' from='81.89.100.197'></delay> 
I/RECVEIVED: delay 2: urn:xmpp:delay 
I/RECVEIVED: delay 3: delay 

これは別の位置ですsibillity:

DelayInformation delayInformation = DelayInformation.from(message); 
if (delayInformation != null) { 

    Log.i("RECVEIVED", "delay 1 : " + delayInformation.getStamp()); 
    Log.i("RECVEIVED", "delay 2 : " + delayInformation.getStamp().getTime()); 
} 

ログ出力:

I/RECVEIVED: delay 1: Mon Jul 31 06:08:58 GMT+02:00 2017 
I/RECVEIVED: delay 2: 1501474138319 

グッドラック

0

文書によると: https://github.com/igniterealtime/Smack/wiki/Smack-4.2-Readme-and-Upgrade-Guide

あなたはピシャリ4.2のJava 7上で開発しているfは、あなたが必要以下の依存関係を働かせてください:

compile "org.igniterealtime.smack:smack-java7:4.2.0" 
// Optional for XMPPTCPConnection 
compile "org.igniterealtime.smack:smack-tcp:4.2.0" 
// Optional for XMPP-IM (RFC 6121) support (Roster, Threaded Chats, …) 
compile "org.igniterealtime.smack:smack-im:4.2.0" 
// Optional for XMPP extensions support 
compile "org.igniterealtime.smack:smack-extensions:4.2.0" 
+0

gradleまたはmavenの場合は、jarファイルをここからダウンロードできます: https://oss.sonatype.org/content/repositories/releases/org/igniterealtime/smack/ –

関連する問題