我需要给定时间的活动清单 Session Api看起来很适合这份工作。
由于文档不详细,因此非常棘手。
我已经建立了这样的请求。想要获取过去7天的所有会话,我知道我那里有一些。
SessionReadRequest readRequest = new SessionReadRequest.Builder()
.setTimeInterval(DateTime.now().minusDays(7).getMillis(), DateTime.now().getMillis(), TimeUnit.MILLISECONDS)
.read(DataType.TYPE_WORKOUT_EXERCISE)
.readSessionsFromAllApps()
.build();
然后使用会话客户端来获取与给定请求匹配的会话,如下所示:
Fitness.getSessionsClient(SettingsActivity.this, GoogleSignIn.getLastSignedInAccount(SettingsActivity.this))
.readSession(readRequest)
.addOnSuccessListener(new OnSuccessListener<SessionReadResponse>() {
@Override
public void onSuccess(SessionReadResponse sessionReadResponse) {
List<Session> sessions = sessionReadResponse.getSessions();
for (Session session : sessions) {
List<DataSet> dataSets = sessionReadResponse.getDataSet(session);
for (DataSet dataSet : dataSets) {
// HOW TO GET CALORIES FROM HERE??? dataSet.getDataPoints() is always empty
}
}
}
})
评论后:如何获取给定会话的卡路里?
我设法在那里获取了3个会话。 2个是由Google Fit从Endomondo导入的,另外1个我是在Google Fit android应用内手动添加的。这些会话都没有包含数据点的数据集。