Android Google Fit获取基本信息(性别,身高,体重)

时间:2017-09-21 09:13:12

标签: android google-fit google-fit-sdk

我几天来一直致力于针对Android的Google fit整合,并且陷入困境。我需要从谷歌健身中获取身高,体重和性别数据。通过使用以下数据类型进行查询,我可以通过google fit成功获得用户的身高和体重

 DataReadRequest readRequest = new DataReadRequest.Builder()
                               .read(DataType.TYPE_WEIGHT)
                               .read(DataType.TYPE_HEIGHT)
                               .setLimit(1)
                               .setTimeRange(1, currentTime, TimeUnit.MILLISECONDS)
                               .build();

但未能获得用户性别的详细信息。我正在浪费大量时间来搞清楚这一点。我想至少知道从Google中获取性别是不可能的。

提前致谢。

1 个答案:

答案 0 :(得分:1)

到目前为止,我担心google不会为性别提供预先定义的DataType。它们可能会在即将到来的更新中提供支持。 所有Google Fit数据类型都有四种fields类型。 您可以检查数据类型列表here,而无需花费大量时间进行研究。

我想至少知道从Google中获取性别是不可能的。

这可以通过Custom data types实现。

  1. 构建自定义数据类型的请求
  2. 使用Google API客户端对象调用Config API
  3. 异步检查结果
  4. 以下示例代码供您参考:

        GoogleApiClient client = new GoogleApiClient.Builder(context)
         .addApi(Fitness.CONFIG_API)
         ... .build();
         client.connect();
    
         PendingResult<DataTypeResult> pendingResult = Fitness.ConfigApi.readDataType(
             client, "com.example.my_custom_data_type");
    
         DataTypeResult dataTypeResult = pendingResult.await();
         DataType dataType = dataTypeResult.getDataType();