Java smack / Android asmack RosterListener
我一直在寻找很多。但找不到任何东西。我需要刷新与名册侦听器的联系人状态。 (离线/在线)。创建名册时,我这样做:
Presence presence = roster.getPresence(r.getUser());
if(presence.isAvailable()){
userstatus.add("online");
}else{
userstatus.add("offline");
}
userstatus 是一个向量字符串,然后我从中创建一个字符串数组。在我的主程序中,我只是检查这个搅拌数组的离线或在线状态。但是如果用户离线/在线该怎么办。我到底应该把监听器放在哪里以及如何使用它?
I've been searching alot. but couldn't find anything. I need to refresh state of the contacts with rosterlistener. (offline/online). WHen creating roster i do:
Presence presence = roster.getPresence(r.getUser());
if(presence.isAvailable()){
userstatus.add("online");
}else{
userstatus.add("offline");
}
userstatus is a vector string, then i make a string array from it. In my main program i just check this stirng array for the offline or online. But what to do if user goes offline/online. WHere exactly i must put the listener and how exactly to use it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您实现
RosterListener
并使用presenceChanged()
方法。下面的示例代码与 Smack 文档 中显示的完全相同。请注意,JavaDoc 建议不要使用更改事件中收到的存在,而是每次检查可用的最佳存在:
You implement a
RosterListener
and make use of thepresenceChanged()
method. Here's sample code exactly as it appears in the Smack documentation.Note that the JavaDoc suggests not using the presence received in the change event but checking for the best presence available each time: