Fitness.HistoryApi.readDailyTotal无限期挂起

时间:2017-10-31 23:19:36

标签: android wear-os google-fit

我正在编写Android Wear应用程序。我试图查询步骤delta,每当我这样做时,readDailyTotal无限期地挂起。我已经在仿真器和物理设备上尝试了这个,但没有运气。

以下是我用来连接客户端的代码(我正在将本地数据加载到设备):

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

我订阅录制API:

    Fitness.RecordingApi.subscribe(mClient, DataType.TYPE_STEP_COUNT_DELTA)
      .setResultCallback( /* some stuff */);

最后,我使用:

查询AsyncTask中的数据(以及它挂起的位置)
    PendingResult<DailyTotalResult> result = Fitness.HistoryApi.readDailyTotal(mClient, DataType.TYPE_STEP_COUNT_DELTA);

我已经通过调试器并将挂起隔离到该行。

任何想法都会受到赞赏,因为我现在已经摸不着头脑了几天。

1 个答案:

答案 0 :(得分:0)

readDailyTotal不需要在AsyncTask内调用,因为它已经是异步操作(这就是它返回PendingResult的原因)。