我正在从不赞成使用的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(...)
,这很好。有什么建议吗?