我正在使用BLE
开发应用程序。
该应用程序必须与几种具有相同服务和特征的设备进行通信。
问题是,在扫描阶段识别那些设备的最佳方法是什么?我如何在扫描时已经“分类” 它们?
我读到有一种获取appearance
值的方法,但是我没有找到如何从BluetoothDevice
对象获取它的示例。在另一个地方,我读到我必须做readCharacteristic()
才能收到appearance
,但我不想这样做(我不想在那个阶段进行连接)。
我对此感到困惑。
请帮助我找到正确的方法
答案 0 :(得分:0)
您可以像使用ScanResult
的{{1}}对象中的数据一样:
ScanCallback
或
scanResult.getScanRecord().getDeviceName()
或者,如果您有特定的数据,请从字节中读取它们:
scanResult.getScanRecord().getAddress()
答案 1 :(得分:0)
关于分类的意思是什么?据我了解,也许有趣的是,您有一个Web服务,其中包含一些带有其类别的设备,并且当您在扫描过程中收到一台设备时,可以在此Web服务中发出GET请求,以检查该设备是否为您所使用的设备。重新寻找
OR
如果您拥有固定分类的设备,则可以将它们作为常量添加到您的应用中,并在扫描过程中进行比较