我正在编写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);
我已经通过调试器并将挂起隔离到该行。
任何想法都会受到赞赏,因为我现在已经摸不着头脑了几天。
答案 0 :(得分:0)
readDailyTotal
不需要在AsyncTask
内调用,因为它已经是异步操作(这就是它返回PendingResult
的原因)。