我正在尝试使用 Bluez 5.44 进行交互dbus-send https://dbus.freedesktop.org/doc/dbus-send.1.html命令行工具。我似乎无法让它正确启动发现,尽管当我使用时它工作得很好bluetoothctl
's scan on
and scan off
命令。我还可以使用启动和停止发现d-feet
.
我已尝试在发出命令之前关闭和打开电源,但似乎并未开始发现。
我使用的命令行是:
dbus-send --system --type=method_call --print-reply --dest=org.bluez \
/org/bluez/hci0 \
org.bluez.Adapter1.StartDiscovery
我通常在发出此命令时得到的是来自dbus-monitor
那是Discovering
财产是false
.
作为参考,这是这样的d-feet
shows.
.
我这个命令做错了什么?
问题是 dbus-send 几乎立即退出。 BlueZ 会跟踪请求发现的客户端(打开适配器的 D-Bus 代理),当不再有客户端请求时,发现将停止。
d-feet 和 bluetoothctl 是长期存在的进程,它们使适配器的 org.bluez.Adapter1 代理保持活动状态。
我在使用我正在开发的 glib 客户端时遇到了同样的问题,解决方案是保持适配器的 D-Bus 代理对象处于活动状态。
如果您必须坚持使用 dbus-send,这可能是个坏消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)