【发布时间】:2020-03-05 17:30:18
【问题描述】:
我正在尝试使用 Google fit api 从我的 Android wear-os 手表获取心率。 我的手表和安卓设备都已配对。
我尝试了两种方法:
1) 从 Android 应用程序连接到 google fit 并扫描数据源。但它只会检测我的安卓设备上的步数传感器,而不会检测到配对的手表传感器。
mFitnessClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.SENSORS_API)
.addScope(Fitness.SCOPE_BODY_READ)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
Log.d(TAG, "Fitness client connected");
}
@Override
public void onConnectionSuspended(int i) {
Log.d(TAG, "Fitness client suspended");
}
})
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult result) {
Log.d(TAG, "Fitness Connection failed");
}
})
.build();
mFitnessClient.connect();
DataSourcesRequest dataSourceRequest = new DataSourcesRequest.Builder()
.setDataTypes(DataType.TYPE_HEART_RATE_BPM)
.setDataSourceTypes(DataSource.TYPE_RAW)
.build();
ResultCallback < DataSourcesResult > dataSourcesResultCallback = new ResultCallback < DataSourcesResult > () {
@Override
public void onResult(DataSourcesResult dataSourcesResult) {
for (DataSource dataSource: dataSourcesResult.getDataSources()) {
}
}
};
Fitness.SensorsApi.findDataSources(mFitnessClient, dataSourceRequest)
.setResultCallback(dataSourcesResultCallback);
2) 直接从手表中读取作为磨损操作系统应用程序。但如果我定义 Fitness.SENSORS_API,我往往会得到 onConnectionFailed,错误代码为 5 (INVALID_ACCOUNT)。
mFitnessClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.SENSORS_API)
.addScope(Fitness.SCOPE_BODY_READ)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
Log.d(LOG_TAG, "Connected to fitness API");
}
@Override
public void onConnectionSuspended(int i) {
}
})
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
Log.d(LOG_TAG, "Connection failed: " + connectionResult.getErrorCode());
}
})
.build();
mFitnessClient.connect();
【问题讨论】:
标签: android google-fit google-fit-sdk android-wear-2.0