2016-09-30 8 views
0

私はquick blox sdkを使用してチャットし、オンラインユーザーを表示し、オンライン/オフライン状態を更新しています。すべてが正常に動作しますが、初めてログイン5xxxx7 QBIdの存在はログ下記のとおりに受信された上、Quick 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") 
} 
関連する問題