我实际上正在构建一个使用smack和openfire的IM安卓应用程序,但我有一个问题。
事实上,我需要管理我的名册。所以,我使用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(我喜欢红色......)在调试器中显示信息。
我的问题是:当我的名单的用户正在连接时,日志控制台中没有任何内容。这意味着我没有运行那段代码...... 我不知道是否连接了新用户,或者用户是否更改了他的状态,因此我无法刷新屏幕上的联系人(名单)列表。
有什么想法吗?
谢谢:)
答案 0 :(得分:1)
您是否将订阅模式设置为手动?
leRoster.setSubscriptionMode(Roster.SubscriptionMode.manual);