新的Google Fit HistoryClient无法用于简单的日常操作

时间:2018-09-03 22:38:58

标签: android wear-os google-fit android-wear-2.0

我正在从不赞成使用的GoogleApiClient迁移到wearOS表盘,但是我无法获得每天的步数来使用新界面。我正在运行与开发者网站上给出的示例几乎完全相同的代码:

在表面引擎中的OnCreate:

GoogleSignInOptionsExtension fitnessOptions =
      FitnessOptions.builder()
          .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
          .build();

    GoogleSignInAccount gsa = GoogleSignIn.getAccountForExtension(this, fitnessOptions);

mFitnessClient = Fitness.getHistoryClient(getApplicationContext(), gsa);

循环处理程序以轮询步骤:

Task<DataSet> resultTask =  mFitnessClient.readDailyTotalFromLocalDevice(TYPE_STEP_COUNT_DELTA);
try
{
    DataSet totalSet = Tasks.await(resultTask);
    long total = totalSet.isEmpty() ? 0 : totalSet.getDataPoints().get(0).getValue(FIELD_STEPS).asInt();
} catch (Exception e) {
    ...
}

结果始终为空。这是正确的方法吗?我注意到您无法再登录默认帐户。我的旧代码如下:

mClient = new GoogleApiClient.Builder(this)
        .addApi(Fitness.HISTORY_API)
        .useDefaultAccount()
        .addConnectionCallbacks(...)
        .build();
mClient.connect();

...

Fitness.HistoryApi.readDailyTotalFromLocalDevice(...)

,这很好。有什么建议吗?

0 个答案:

没有答案