0

我实际上正在构建一个 IM android 应用程序,使用 smack 和 openfire,但我有一个问题。

事实上,我需要管理我的名单。所以,我使用 smack 教程给出的代码:

leRoster.addRosterListener(new RosterListener() {

        public void entriesAdded(Collection<String> addresses) {
            for(String x : addresses)
            {
                Log.e("error listener",x);
            }
        }
        public void entriesDeleted(Collection<String> addresses) {}
        public void entriesUpdated(Collection<String> addresses) {

            for(String x : addresses)
            {
                Log.e("error listener",x);
            }

        }
        public void presenceChanged(Presence presence) {
            Log.e("error listener","Presence changed: " + presence.getFrom() + " " + presence);
        }
    });

我使用 Log.e(我喜欢红色...)在调试器中显示信息。

我的问题是:当我的花名册的用户正在连接时,日志控制台中没有任何内容。这意味着我没有运行那段代码...我不知道是否连接了新用户,或者用户是否更改了他的状态,因此我无法刷新屏幕上的联系人(名册)列表。

任何想法 ?

谢谢 :)

4

1 回答 1

1

您是否将订阅模式设置为手动?

leRoster.setSubscriptionMode(Roster.SubscriptionMode.manual);

于 2014-02-11T12:02:37.840 回答