Geo*_*org 7 android google-fit-sdk google-fit
我想在过去的两周里用15分钟的桶来获取GoogleFit数据.但由于某种原因HistoryApi,即使我等了几分钟,对它的呼唤也永远不会完成.使用1小时水桶时,返回速度非常快.我有没有看到任何限制?
我的计划是在去年左右获得15分钟的水桶,但即使不是2周的工作也会成为一个问题......
到目前为止我所拥有的:我设置了我的GoogleApi客户端:
mClient = new GoogleApiClient.Builder(mContext)
.addApi(Fitness.SENSORS_API)
.addApi(Fitness.HISTORY_API)
.addScope(new Scope(FITNESS_ACTIVITY_READ))
.addConnectionCallbacks(
new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
fetchHistoryData();
}
@Override
public void onConnectionSuspended(int i) {
// Here I'll handle that case
}
}
)
.enableAutoManage(mContext, 0, new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult result) {
//Here I'll handle that case
}
})
.build();
Run Code Online (Sandbox Code Playgroud)
然后我尝试获取这样的数据:
final DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.aggregate(DataType.TYPE_CALORIES_EXPENDED, DataType.AGGREGATE_CALORIES_EXPENDED)
.bucketByTime(1, TimeUnit.HOURS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();
Fitness.HistoryApi.readData(mClient, readRequest).setResultCallback(new ResultCallback<DataReadResult>() {
@Override
public void onResult(@NonNull DataReadResult dataReadResult) {
handleGoogleFitData(dataReadResult);
}
});
Run Code Online (Sandbox Code Playgroud)
哪个工作完全正常,但是当我继续将更改时间更改为.bucketByTime(15, TimeUnit.MINUTES)onResult将永远不会被调用.当我每隔1小时回到1年时,我也注意到了同样的情况.
这是Google-Fit的限制吗?我至少没有找到任何关于这样的限制的文件......
我有时也会快速得到一个查询回调,有时它永远不会返回.关于那个的任何想法?
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |