最近几天我一直在尝试从Google Fit API中获取睡眠信息。
在这段时间内,我设法从历史记录API和会话API获取数据,但活动列表似乎并未包含任何睡眠数据。
我一直在“ Sleep as Android”中捕获数据,并且还尝试了“ Instant”。但看不到数据集中的任何内容。
我似乎还记得使用旧版健身应用时会看到睡眠活动,但是新应用的日志部分中没有数据提示。
我应该能够从历史记录或会话数据中获取数据吗?
此刻我正在使用
DataReadRequest readRequest = new DataReadRequest.Builder()
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.read(DataType.TYPE_ACTIVITY_SEGMENT)
.build();
Fitness.getHistoryClient(this, GoogleSignIn.getLastSignedInAccount(context))
.readData(readRequest)
.addOnSuccessListener(new OnSuccessListener<DataReadResponse>(){
@Override
public void onSuccess(DataReadResponse dataReadResponse) {
List<DataSet> dataSets = dataReadResponse.getDataSets();
for (DataSet dataSet : dataSets) {
for (DataPoint dp : dataSet.getDataPoints()) {
for (Field field : dp.getDataType().getFields()){
LogUtil.d("google fit Start: " + dateFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)) + " End: " + dateFormat.format(dp.getEndTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getEndTime(TimeUnit.MILLISECONDS)) + " type: " + showDataType(dp.getValue(field)));
}
}
}
}
}
我不确定要获得正确的数据会缺少什么。我看到走路,静止不动,跑步等,但没睡!
答案 0 :(得分:0)
您可以尝试发送会话请求,该请求将读取Users.sessions
或使用\s
方法正确record fitness data进行睡眠activities。
活动列表:
这是Martin Stava的sample代码,它将向您展示如何使用Google Fit中的Sleep作为Anroid数据。希望对您有所帮助。