检索在 Smack XMPP 服务器中注册的用户的位置信息(无需订阅)

Posted

技术标签:

【中文标题】检索在 Smack XMPP 服务器中注册的用户的位置信息(无需订阅)【英文标题】:Retrieving location information of users registered in a Smack XMPP Server (Without subscription) 【发布时间】:2013-04-16 07:22:35 【问题描述】:

所以这是我的想法。

我不想列出在 XMPP 服务器上注册的所有用户在我的位置半径内。 这样我就可以添加(如果有兴趣)。

我使用 smack API,我基本上是在为我的大学构建一个安卓聊天应用程序作为我的硕士项目。

我的问题:

    XMPP服务器如何发送,位置?

    Smack 有 Form 类,我想知道当我将 UserSearchManager 与 Form 一起使用时,如何使用它来检索每个用户的位置?

任何设计理念也将不胜感激!谢谢你:)

【问题讨论】:

您是否阅读过 XEP for User Location?您是否使用 Smack 构建服务器(当周围有服务器可供选择时)? 您是否尝试过自己回答问题 2? 亲爱的 Ben,感谢您的即时回复。我不是在构建服务器,而是在构建客户端。我的大学有自己的服务器设置。对于问题 2,是的,我尝试过回答自己。我希望每个用户在每次开始使用该应用程序时都更新他们的地理位置。因此,当用户想要查看其半径内的其他用户列表时,我可以使用谷歌地图来显示。我需要一个好的起点来做这件事,用 smack lib。非常感谢您,本。 这个网站更适合特定问题,而不是讨论问题。请参阅about page 获取建议,当然还有 Smack API 文档。祝你好运! 【参考方案1】:

我正在研究同样的想法

1) 发送用户位置,创建后台服务以保持位置更新。 看这个链接backgorund service location

每次位置更新后,发送一个自定义数据包,如下所示: custom packets

在您的数据包侦听器中,将数据包与数据库中的位置一起保存并更新用户界面,使用接收器 lat,lng 计算您的 lat,lng 如果它在您的范围内,则显示,否则隐藏

2) 要让所有用户从 openfire 中查看我的答案: get all users from openfire using smack

【讨论】:

以上是关于检索在 Smack XMPP 服务器中注册的用户的位置信息(无需订阅)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xmpp smack 或 asmack 中将文件发送给离线用户?

使用 Smack API 进行 XMPP 注册返回错误请求 - 修改

使用 xmpp + smack + openfire 在 android 中阻止用户

收到消息时通知 XMPP + Smack

使用 servlet 将用户注册到 Openfire XMPP 服务器?

xmpp ios:如何从 openfire 服务器检索所有注册用户