Java 阅读Google Fit自动生成的活动
我正在努力使它按预期工作。我需要列举我在Google Fit应用程序中看到的所有活动(例如自动“晨走”或手动添加的跑步)。我使用了以下查询:Java 阅读Google Fit自动生成的活动,java,android,google-fit,google-fit-sdk,Java,Android,Google Fit,Google Fit Sdk,我正在努力使它按预期工作。我需要列举我在Google Fit应用程序中看到的所有活动(例如自动“晨走”或手动添加的跑步)。我使用了以下查询: DataReadRequest readRequest = new DataReadRequest.Builder() .aggregate(DataType.TYPE_ACTIVITY_SEGMENT, DataType.AGGREGATE_ACTIVITY_SUMMARY) .enableServerQueries() .set
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_ACTIVITY_SEGMENT, DataType.AGGREGATE_ACTIVITY_SUMMARY)
.enableServerQueries()
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.bucketByTime(1, TimeUnit.DAYS)
.build();
注意:这种聚合已被弃用,但我找不到“正确”的方法来使用未弃用的方法接收相同的结果
现在:在我的健身日示例中,我有两项活动。第一个是自动生成的2.32公里32分钟的“下午散步”,第二个是手动添加的1小时跑步活动。上面的查询返回两行字段activity/duration/num_segments:
Calendar calendar = Calendar.getInstance(Locale.getDefault());
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long startTime = calendar.getTimeInMillis();
以下是特定日期的结果:
数据类型:数据类型{com.google.activity.summary[activity(i)、duration(i)、num_segments(i)]
AS活动:跑步
领域:活动(一)
开始时间:10月16日星期五12:10:00 GMT+2020年2:00
结束时间:10月16日星期五13:10:00 GMT+2020年2:00
持续时间:3600000 字段:持续时间(i) 开始时间:10月16日星期五12:10:00 GMT+2020年2:00 结束时间:10月16日星期五13:10:00 GMT+2020年2:00
N.部分:1 字段:num_段(i) 开始时间:10月16日星期五12:10:00 GMT+2020年2:00 结束时间:10月16日星期五13:10:00 GMT+2020年2:00
作为活动:步行 领域:活动(一) 开始时间:星期五10月16日09:20:30 GMT+02:00 2020 结束时间:10月16日星期五23:15:17 GMT+2020年02:00
持续时间:2674044 字段:持续时间(i) 开始时间:星期五10月16日09:20:30 GMT+02:00 2020 结束时间:10月16日星期五23:15:17 GMT+2020年02:00
N.部分:10 2字段:段数(i) 开始时间:星期五10月16日09:20:30 GMT+02:00 2020
结束时间:10月16日星期五23:15:17 GMT+2020年02:00您使用的是哪种套餐?另外,你的时间范围正确吗?注意时区。你的时间范围可能会改变!你说的包裹是什么意思?我没有使用任何软件包。谢谢。flatter包(依赖项):)我不是在使用flatter,而是在原生Android上使用Java。