我正在将iPhone应用移植到使用Android
的{{1}}。
在iPhone应用程序中,我扫描自定义蓝牙外围设备并将其设备UUID编号存储为字符串。这允许我稍后在再次连接设备时进行比较。
Bluetooth LE
可用于读取Android中的外设UUID,但我不知道如何在设备连接时使用它来获取UUID。有人可以帮忙吗?
此外,Android在调用BluetoothDevice.ACTION_UUID
时确实给了我外围设备的IP地址。我假设首次发现外围设备时,Android设备会随机创建此IP地址。
这些IP是否是静态的,因为我可以依赖它们在我的应用程序的未来发布期间识别每个蓝牙外围设备? 或者他们/他们能否随时间改变,即。设备重启后等。
由于
答案 0 :(得分:1)
忘记UUID。为了在将来的连接中识别外围设备,您应该使用的是外围设备的蓝牙地址。类BluetoothDevice
具有方法getAddress()
,该方法完全返回。
然后,在LeScanCallback中,再次检查此地址(字符串相等)。