2013-07-29 1 views
2

Привет, ребята, я использую эти строки кода, чтобы получить список разговоров с использованием привкусомвыборка новейший разговор из архива сообщений Openfire с помощью привкусом

@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="[email protected]" 
to="[email protected]/Smack"><list xmlns="urn:xmpp:archive"> 
chat with="[email protected]" 
start="2013-07-25T09:57:04.121Z"/> 
<chat with="[email protected]" 
start="2013-07-25T11:08:28.997Z"/> 
<chat with="[email protected]" 
start="2013-07-29T09:29:18.295Z"/> 
<chat with="[email protected]" 
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 И как я могу получить заказ списка рассылки в последнее время?

Спасибо!

ответ

0

Вы должны добавить атрибут «конец» в свой «список» с текущим временем. XML будет выглядеть так:

<iq type='get' xmlns='jabber:client'><list xmlns='urn:xmpp:archive' end='2014-05-28T08:48:56+08:00' with='[email protected]'><set xmlns='http://jabber.org/protocol/rsm'><max>10</max><before/></set></list></iq>