【发布时间】:2017-10-07 13:51:12
【问题描述】:
我正在使用 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());
在这里,当我使用任何注释语句时,我没有得到任何结果。
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
看看Data Type reference page,我认为它们不能完全互换,因为有一些reading sessions 提到必须为 TYPE_STEP_COUNT_DELTA 完成,而 TYPE_HEART_RATE_BPM 是瞬时的。
标签: android bluetooth-lowenergy sony google-fit