4

SMACK でユーザーの可用性ステータスの変化を聞くためにサブスクライブするにはどうすればよいですか?

ユーザーの可用性ステータスを取得するには、次を使用します。

XMPPConnection.getRoster().getPresence(name).isAvailable();

しかし、ステータスが変わるたびに通知を受け取るように登録するにはどうすればよいでしょうか? (だから私はポーリングする必要はありません)。

4

3 に答える 3

8

名簿とプレゼンスの変更のリスナーを設定します

于 2012-10-25T20:45:01.593 に答える
2
roster.addRosterListener(new RosterListener() {
            // Ignored events public void entriesAdded(Collection<String> addresses) {}
            public void entriesDeleted(Collection<String> addresses) {}
            public void entriesUpdated(Collection<String> addresses) {}
            public void presenceChanged(Presence presence) {

                Log.e(TAG, presence.getStatus());
                    Log.e(TAG,presence.getFrom());
                    Log.e(TAG, presence.getLanguage());
                    Log.e(TAG,presence.getDefaultLanguage());
                    Log.e(TAG, presence.getType().toString());
            }
            @Override
            public void entriesAdded(Collection<String> arg0) {
                // TODO Auto-generated method stub

            }
        });
于 2014-12-03T11:09:42.113 に答える