こんにちは、私はこれらのコード行を使用して、スマックを使用して会話のリストを取得しています
@Override
protected Void doInBackground(String... strings) {
final ArrayList<UsersData> users
= UsersManager.getInstance().getUsers();
int count = 0;
while(count < users.size()) {
try {
Thread.sleep(500);
final String jid
= users.get(count).getUserJID();
IQ iq = new IQ() {
@Override
public String getChildElementXML() {
String list = "<list xmlns='urn:xmpp:archive'"+
"with='"+jid+"'>"+
"<set xmlns='http://jabber.org/protocol/rsm'>"+
"<max>30</max></set></list>";
return list;
}
};
iq.setType(IQ.Type.GET);
iq.setPacketID(jid+System.currentTimeMillis());
service.getXmppConnection().sendPacket(iq);
Log.v("XmppAsyncHistory", "IQ List sent!");
} catch (InterruptedException e) {
e.printStackTrace();
}
count++;
}
return null;
}
iq プロバイダーを追加しました。
provider.addIQProvider("list", "urn:xmpp:archive", new ListIQProvider());
そして、私は返信のためにこのスタンザを取得します。
D/SMACK(11130): 10:34:30 PM RCV (1096010080):
<iq type="result"
id="24@suitmedia1375112070174"
to="17@suitmedia/Smack"><list xmlns="urn:xmpp:archive">
chat with="24@suitmedia"
start="2013-07-25T09:57:04.121Z"/>
<chat with="24@suitmedia"
start="2013-07-25T11:08:28.997Z"/>
<chat with="24@suitmedia"
start="2013-07-29T09:29:18.295Z"/>
<chat with="24@suitmedia"
start="2013-07-29T07:47:29.841Z"/>
<set xmlns="http://jabber.org/protocol/rsm">
<first index="0">184</first><last>216</last>
<count>4</count></set></list></iq>
ご覧のとおり、最新の会話ではなく、それぞれ 25/07 から 29/07 までの最も古い会話が返されます。
私が聞きたいのは、これらのタグの意味は何ですか? 184216 最近の時間で会話リストの順序を取得するにはどうすればよいですか?
ありがとうございました!