我正在使用Google fit API连接Sony Smartband2频段。我现在想做的就是扫描并索取设备。
当我将数据类型设置为TYPE_HEART_RATE_BPM时,我可以找到并声明我的设备。但是,当我将其设置为TYPE_STEP_COUNT_DELTA或TYPE_STEP_COUNT_CUMULATIVE时,我无法找到该设备。
可能是什么问题?我知道以后我还需要使用Sensors API,但是为了找到设备,我不需要它,对吧?
要构建api客户端:
mApiClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.BLE_API)
.addApi(Fitness.SENSORS_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ))
.addScope(new Scope(Scopes.FITNESS_LOCATION_READ))
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
要扫描BLE设备:
PendingResult<Status> pendingResult = Fitness.BleApi.startBleScan(
mApiClient,
new StartBleScanRequest.Builder()
.setDataTypes(DataType.TYPE_HEART_RATE_BPM)
//.setDataTypes(DataType.TYPE_STEP_COUNT_DELTA)
//.setDataTypes(DataType.TYPE_STEP_COUNT_CUMULATIVE)
.setBleScanCallback(bleScanCallback)
.build());
在这里,当我使用任何注释语句时,我没有得到任何结果。
非常感谢任何帮助,谢谢。
SmartBand 2不通过Sensors API提供步数。大多数乐队没有。您可以从更大的块(EG~1分钟)中获取历史API的步数,并将其与传感器API中的BPM进行匹配。
我正在测试多个品牌和乐队,大多数都没有提供步骤。 SmartBand 2具有我测试过的任何频段的最高分辨率BPM,包括价格为4倍的频段,因此SmartBand 2是我个人日常使用和测试的选择 - 但我真的希望Sony能够添加实时步骤到SmartBand 2或用它发布新的SmartBand。