bluetooth OnloadCb,RefreshDevices will block n secs if there is no bluez daemon

This commit is contained in:
cuu 2018-12-02 18:00:07 +08:00
parent 793e0cae3a
commit eeb0a616c3

View File

@ -544,12 +544,16 @@ class BluetoothPage(Page):
def RefreshDevices(self): def RefreshDevices(self):
global devices global devices
devices = {} devices = {}
proxy_obj = bus.get_object("org.bluez", "/") try:
manager = dbus.Interface(proxy_obj,"org.freedesktop.DBus.ObjectManager") proxy_obj = bus.get_object("org.bluez", "/")
objects = manager.GetManagedObjects() manager = dbus.Interface(proxy_obj,"org.freedesktop.DBus.ObjectManager")
for path, interfaces in objects.iteritems(): objects = manager.GetManagedObjects()
if "org.bluez.Device1" in interfaces: for path, interfaces in objects.iteritems():
devices[path] = interfaces["org.bluez.Device1"] ## like /org/bluez/hci0/dev_xx_xx_xx_yy_yy_yy if "org.bluez.Device1" in interfaces:
devices[path] = interfaces["org.bluez.Device1"] ## like /org/bluez/hci0/dev_xx_xx_xx_yy_yy_yy
except Exception,e:
print(str(e))
devices={}
self._Devices = devices self._Devices = devices