我是Android蓝牙LE和可穿戴设备的新手,并试图开发一款应用程序来获取可穿戴设备的心率。我正在使用Mi Band 3并按照Google的文档从附近的BLE设备(Mi Band 3)获取心率。我无法发现该设备。我使用以下代码作为参考。
callback = new BleScanCallback() {
@Override
public void onDeviceFound(BleDevice device) {
// ClaimBleDeviceRequest request = new ClaimBleDeviceRequest(mClient,device);
PendingResult<Status> pendingResult =
Fitness.BleApi.claimBleDevice(mClient, device);
}
@Override
public void onScanStopped() {
// ..
}
};
StartBleScanRequest request = new StartBleScanRequest.Builder()
.setDataTypes(DataType.TYPE_HEART_RATE_BPM)
.setBleScanCallback(callback)
.build();
PendingResult<Status> pendingResult =
Fitness.BleApi.startBleScan(mClient, request);
你有没有尝试过常规的BLE api? https://developer.android.com/guide/topics/connectivity/bluetooth-le
如果未使用常规BLE API发现设备,但是配套设备发现了该设备,则可能会尝试常规蓝牙API - 设备可能不支持LE。