2016-09-30 16 views
0

我正在使用快速blox sdk聊天和顯示在線用戶並更新他們的在線/離線狀態。一切工作正常,但在第一次登錄5xxxx7 QBId存在接收按照下面的日誌,快速Blox SDK存在沒有收到作爲在線登錄第一次

D/SMACK: RECV (1): <presence xmlns="jabber:client" from="[email protected]/android_00000000-57d0-4ecf-ffff-ffffef05ac4a" to="[email protected]" id="bQzT2-9587"/> 

09-30 16:38:19.944 20513-21578/com.FCK.provider D/NativeCrypto: ssl=0xd86e0d40 sslRead buf=0xd403af98 len=104,timeo=60000 

但在我面前聽衆沒有登錄:

rosterListener = new QBRosterListener() { 
      @Override 
      public void entriesDeleted(Collection<Integer> userIds) { 
       log("entriesDeleted: " + userIds); 
      } 

      @Override 
      public void entriesAdded(Collection<Integer> userIds) { 
       log("entriesAdded: " + userIds); 
      } 

      @Override 
      public void entriesUpdated(Collection<Integer> userIds) { 
       log("entriesUpdated: " + userIds); 
      } 

      @Override 
      public void presenceChanged(QBPresence presence) { 
       log("presenceChanged: " + presence); 
       EventBus.getDefault().post(presence); 
       if(chatServiceListener != null){ 
        chatServiceListener.presenceChanged(presence); 
       } 
//    {type=online, user=5507990, status=null} 
      } 
     }; 

即使我手動獲得通過下面的代碼存在我得到用戶爲脫機即使他是在網上,我可以和他聊天:

QBPresence presence = сhatRoster.getPresence(userID); 
     if (presence == null) { 
      log("No user in your roster"); 
      return; 
     } 
     if (presence.getType() == QBPresence.Type.online) { 
      log("User " + userID + " is online"); 
     } else { 
      log("User " + userID + " is offline"); 
     } 

回答

0

更新快速的Blox SDK與gradle這個文件下面的代碼使用,並且解決:

dependencies { 
    compile("com.quickblox:quickblox-android-sdk-chat:2.6.1") 
} 
相關問題