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

Android Google Fit get basic info (Gender, Height, Weight)

几天以来,我一直在为 Android 进行 Google 拟合集成,但卡在了某个点上。我需要从 google fit 中获取身高、体重和性别数据。通过使用以下数据类型

进行查询,我可以成功地从 google 中获取用户的身高和体重
 DataReadRequest readRequest = new DataReadRequest.Builder()
                               .read(DataType.TYPE_WEIGHT)
                               .read(DataType.TYPE_HEIGHT)
                               .setLimit(1)
                               .setTimeRange(1, currentTime, TimeUnit.MILLISECONDS)
                               .build();

但是未能获取到用户性别的详细信息。我正在浪费大量时间来解决这个问题。我想至少知道从 Google 中获取性别是不可能的。

提前致谢。

恐怕 google 目前还没有提供预定义的 DataType 性别。他们可能会在即将到来的更新中提供支持。 对于所有 Google 拟合数据类型,有四种类型的 fields。 您可以查看数据类型列表 here,而无需投入大量时间进行研究。

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

这可以通过 Custom data types 实现。

  1. 为您的自定义数据类型构建请求
  2. 使用 Google API 客户端对象调用配置 API
  3. 异步检查结果

下面的示例代码供您参考:

    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();