我的BLE发现和连接在Android 6.0及更高版本上工作正常。但是,在版本5.x的设备(都是Samsung-Note 4和Galaxy Core Prime)上,我可以扫描,查找外围设备,连接并获取onConnectionStateChange
回调。所有连接步骤均正常。
在onConnectionStateChange
之后,我呼叫gatt.discoverServices()
-这返回onServicesDiscovered()
,然后我呼叫getSupportedGattServices()
。 getSupportedGattServices()
成功返回,但是缺少外围设备上的特定服务UUID。我知道那里有UUID,因为我可以在外围设备上看到它,而我的其他Android设备也可以连接到它。我正在记录所有发现的UUID,并且只看到Generic Attribute Profile
和Generic Access Profile
服务。
我检查了LeScanCallback中返回的ScanResult
类,并且服务UUID在那里。同样,这仅在5.x上发生。 6.0+ Android设备可以毫无问题地发现该服务。
谢谢。