我正在编写一个Android磨损应用程序。我试图查询步骤增量,每当我这样做时,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);我已经运行了调试器,并将挂起的内容隔离到了该行。
任何想法都会感谢,因为我已经抓了我的头和搜索了几天。
发布于 2017-11-01 00:38:38
readDailyTotal不需要在AsyncTask中调用,因为它已经是一个异步操作(这就是为什么它返回一个PendingResult)。
https://stackoverflow.com/questions/47045909
复制相似问题