2013-08-01 7 views
5

現在、私はXMpp SMACK APIを使用してアプリケーションをチャットしています。しかし、私はaddrosterListenerを呼び出した後、現在のプレゼンスを取得していません。 http://www.igniterealtime.org/builds/smack/docs/3.2.2/javadoc/org/jivesoftware/smack/RosterListener.html .please help me。スマッシュRosterListenerがAndroidで動作しない

roster.addRosterListener(new RosterListener() { 
         @Override 
         public void presenceChanged(Presence presence) { 


          Log.d("pewsence ", "pewsence Status: " + presence.getFrom()); 
          Log.d("pewsence ", "pewsence to Status: " 
            + presence.getTo() + " " + presence); 

          // Called when the presence of a roster entry is 
          // changed 
         } 

         @Override 
         public void entriesUpdated(Collection<String> arg0) { 
          // Called when a roster entries are updated. 

         } 

         @Override 
         public void entriesDeleted(Collection<String> arg0) { 
          // Called when a roster entries are removed. 
         } 

         @Override 
         public void entriesAdded(Collection<String> arg0) { 
          // Called when a roster entries are added. 
         } 
        }); 
       } 
      } 
     }); 

このリスナーはpresenseが変化するときに、このリスナーが自動的に呼び出され、活動はすべてのドキュメントを参照してくださいと思いますcreated.Iときに呼び出すです。

ありがとうございます。

+0

XMPPサーバーを使用して複数のユーザーチャットを実装しましたか? – Piyush

答えて

1
roster = connection.getRoster(); 

      // Get all rosters 
      Log.i("roster", "roster=" + connection.isConnected() + "-" + roster); 
      Collection<RosterEntry> entries = roster.getEntries(); 
      // loop through 
      for (RosterEntry entry : entries) { 
       Presence entryPresence = roster.getPresence(entry.getUser()); 
       Presence.Type userType = entryPresence.getType(); 

      } 

このコードを使用すると、すべてのオンラインまたはオフラインのユーザーを取得する必要があります。誰もがチャットできます。

+0

XMPPで複数のユーザーチャットを実装する方法を説明できますか? –

+1

あなたはあなたの質問に答えられていませんか? – chhameed