谁能告诉我为啥 Smack 的 Presence.getMode() 在可用(在线)联系的情况下给出 null ?

Posted

技术标签:

【中文标题】谁能告诉我为啥 Smack 的 Presence.getMode() 在可用(在线)联系的情况下给出 null ?【英文标题】:Can anyone tell me why Smack's Presence.getMode() gives null in the case of available (online) contact?谁能告诉我为什么 Smack 的 Presence.getMode() 在可用(在线)联系的情况下给出 null ? 【发布时间】:2012-07-19 07:08:15 【问题描述】:

我正在使用 XMPP 在 android 上开发一个聊天应用程序。当 Presence 对象包含:可用(在线)时,我检索 RosterEntery 的存在。我打电话给presence.getMode(),它返回null

谁能告诉我为什么presence.getMode()在在线联系的情况下返回null?当 Presence 对象包含 : available (away) 或 (dnd) 时, Presence.getMode() 工作正常。谁能帮我解决这个问题?

【问题讨论】:

哪个 XMPP 库? 'getMode' 不是一个描述性很强的函数名称。 我使用了 Presence prs = roster.getPresence(r.getUser().toString());如果用户在线,那么它给我可用(在线)。但是当我调用 Presence.Mode pm = prs.getMode();然后它给了我 null 。谁能说出这背后的原因.. 【参考方案1】:

Smack 库文档指出 -“返回存在更新的模式,如果未设置模式,则返回 null。null 存在模式值被解释为与 Presence.Mode.available 相同。”

https://www.igniterealtime.org/builds/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Presence.html#getMode%28%29

【讨论】:

以上是关于谁能告诉我为啥 Smack 的 Presence.getMode() 在可用(在线)联系的情况下给出 null ?的主要内容,如果未能解决你的问题,请参考以下文章

在smack中阻止用户[关闭]

使用 smack 库的 android 头像管理

谁能告诉我为啥这不是创建一个正方形? [复制]

谁能告诉我为啥我的过滤数组是空的?

谁能告诉我为啥我们总是在机器学习中使用高斯分布?

谁能告诉我为啥这超过了 2 秒的时间限制?(短代码)