2013-09-25 4 views
1

Ici, j'utilise le code suivant pour envoyer un message. J'ai ajouté l'écouteur de rappel pour connaître l'état du message mais il n'imprime aucun message de journal.sendReliableRealTimeMessage ne donne aucun rappel

gamesClient.sendReliableRealTimeMessage(new RealTimeReliableMessageSentListener() { 
      @Override 
      public void onRealTimeMessageSent(int statusCode, int tokenId, String recipientParticipantId) { 
       // TODO Auto-generated method stub 
       switch (statusCode) { 
       case GamesClient.STATUS_OK: 
        Log.e("status", "STATUS_OK"); 
        break; 
       case GamesClient.STATUS_REAL_TIME_MESSAGE_SEND_FAILED: 
        Log.e("status", "STATUS_REAL_TIME_MESSAGE_SEND_FAILED"); 
        break; 
       case GamesClient.STATUS_REAL_TIME_ROOM_NOT_JOINED: 
        Log.e("status", "STATUS_REAL_TIME_ROOM_NOT_JOINED"); 
        break; 
       } 
      } 
     }, msgBuf, roomId, p.getParticipantId()); 
+0

Bien que j'ai eu ma part de messages abandonnés .. ce n'est pas le cas normal pour sendReliableRealTimeMessage(). 2 choses .. recevez-vous des messages sur votre autre appareil? (Envoi fiable ou non) Pouvez-vous poster comment vous avez configuré votre activité (déclarations, etc.) – user2346305

+0

Je ne reçois pas le message dans un autre appareil. – Prasanna

+0

Hé, j'ai une solution. J'ai mis à jour mes bibliothèques maintenant que cela fonctionne bien – Prasanna

Répondre

3

N'utilisez pas d'écouteurs anonymes comme ça. L'API utilise des références faibles aux écouteurs, il arrive donc souvent que ces écouteurs soient récupérés avant d'être appelés. Veuillez réessayer en utilisant un écouteur non anonyme, c'est-à-dire un écouteur auquel vous avez une référence. Un moyen facile de faire cela est de faire de l'activité l'écouteur (c'est-à-dire ajouter "implémente RealTimeReliableMessageSentListener" à la classe Activity).

Une autre option consiste à contenir une référence explicite à l'écouteur en tant que variable membre dans votre activité.

Questions connexes