我正在尝试使用google fit history api来获取我在过去一周内按天分隔的步骤。我的应用程序不记录任何数据,我只想使用历史API来获取fit商店的数据。根据我在https://fit.google.com/的帐户,我在3天前采取了151步,但是当我尝试获取每天所采取的步骤数时,我得到了0个数据集的结果。当我使用以下代码时,我得到7个桶,但每个桶包含0个数据集。我想我必须以某种方式接近这个错误,但我不确定在哪里。
private class GetData extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... params) {
Calendar cal = Calendar.getInstance();
Date now = new Date();
cal.setTime(now);
long endTime = cal.getTimeInMillis();
cal.add(Calendar.WEEK_OF_YEAR, -1);
long startTime = cal.getTimeInMillis();
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();
System.out.println("here");
DataReadResult dataReadResult =
Fitness.HistoryApi.readData(mClient, readRequest).await(1, TimeUnit.MINUTES);
System.out.println(dataReadResult.getBuckets().size());
System.out.println(dataReadResult.getDataSets().size());
答案 0 :(得分:0)
有一些可能的原因:
1)您是否订阅了此类数据?
2)您的应用与Google服务无法正常连接。您是否从Google开发控制台创建了OAuth客户端ID?这是谷歌连接到GG Fit服务的必修课(请注意,如果您在同一台计算机上克隆另一个应用程序,则需要重新创建另一个OAuth客户端ID,还有一件事你需要需要2个分隔帐户,一个用于登录Google开发控制台以创建OAuth客户端ID,另一个用于在启动应用程序后登录,并且会要求您登录以接受其权限,...不确定为什么会这样做是,但它会工作)
注意:您可以在设备中搜索Google设置(设置 - &gt; Google),在这里您可以找到连接到Google服务的应用(包括GG Fit服务)。我建议您断开所有连接并删除OAuth客户端ID,您的应用,然后重新创建所有这些!
Mttdat。