5

現在、私は Xmpp SMACK API を使用してチャット アプリケーションを動作させてい ます。 /javadoc/org/jivesoftware/smack/RosterListener.html .助けてください。

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.
                        }
                    });
                }
            }
        });

このリスナーは、アクティビティが作成されたときに呼び出されます。すべてのドキュメントを参照すると、プレゼンスが変更されると、このリスナーが自動的に呼び出されます。

前もって感謝します。

4

1 に答える 1

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();

            }

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

于 2013-08-17T06:20:30.487 に答える