如何通过其 dbus 接口与 geoclue 通信?

如何通过其 dbus 接口与 geoclue 通信?

我试图更好地理解它geoclue的作用以及如何从中获取信息。

据我了解,可以通过其dbus界面访问它以查找有关用户的地理信息。问题是找到正确的dbus命令来获取此信息。

我在互联网上进行了搜索,并检查了我能找到的所有文档,但除了有关其属性的模糊信息之外,似乎仍然找不到简单的答案dbus,而我缺乏正确拼凑这些信息的知识。

是否有一个dbus命令我可以用来从 获取此信息geoclue,也许还有该命令应该是什么样子的示例?我没有将其中的文档放在一起以获得此信息所需的信息。

答案1

安装qdbus。语法是:

qdbus servicename path function parameters

servicename通常是程序的名称(例如:org.freedesktop.Geoclue.Master),path类似于/org/freedesktop/Geoclue/Master/client0function看起来像 org.freedesktop.Geoclue.GetStatus。

如果您键入不完整的命令(例如: only servicename、 notpath和其余命令),qdbus将回复下一个参数的选项列表。您可以使用它来探索可用的功能。

例如:

qdbus org.freedesktop.Geoclue.Providers.UbuntuGeoIP /org/freedesktop/Geoclue/Providers/UbuntuGeoIP org.freedesktop.Geoclue.Position.GetPosition

输出:

3
<timestamp>
<lat>
<lon>
<alt>

现在您可以使用文档了解更多信息。

相关内容