Форум для тех, кто программирует под Android
Anonymous
Google Fit Data Sleep
Сообщение
Anonymous » 08 май 2025, 02:40
Не в состоянии получить данные сна.
его предоставление списка сеансов, но не предоставлять набор данных для сна и всего. {< /p>
Код: Выделить всё
Calendar cal = Calendar.getInstance();
Date now = new Date();
cal.setTime(now);
long endTime = cal.getTimeInMillis();
cal.add(Calendar.DAY_OF_MONTH, -1);
long startTime = cal.getTimeInMillis();
DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(requireContext());
Log.i(TAG, "SLEEP Range Start: " + dateFormat.format(startTime));
Log.i(TAG, "SLEEP Range End: " + dateFormat.format(endTime));
SessionReadRequest request = new SessionReadRequest.Builder()
.readSessionsFromAllApps()
.includeSleepSessions()
.read(DataType.TYPE_SLEEP_SEGMENT)
.setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS)
.build();
Fitness.getSessionsClient(requireContext(),getGoogleSigningAccount())
.readSession(request)
.addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(SessionReadResponse sessionReadResponse) {
for (int i = 0; i < sessionReadResponse.getSessions().size(); i++) {
Session session = sessionReadResponse.getSessions().get(i);
// If the sleep session has finer granularity sub-components, extract them:
List dataSets = sessionReadResponse.getDataSet(session);
for (int j = 0; j < dataSets.size(); j++) {
DataSet mDataSet = dataSets.get(j);
for (DataPoint point : mDataSet.getDataPoints()) {
String sleepStageVal = "" + point.getValue(Field.FIELD_SLEEP_SEGMENT_TYPE).asInt();
long segmentStart = point.getStartTime(TimeUnit.MILLISECONDS);
long segmentEnd = point.getEndTime(TimeUnit.MILLISECONDS);
Log.i(TAG, "\t* Type $sleepStage between $segmentStart and $segmentEnd" + segmentStart + "" + segmentEnd);
}
}
}
}
});}"
заранее спасибо.
Подробнее здесь:
https://stackoverflow.com/questions/730 ... sleep-data
1746661246
Anonymous
Не в состоянии получить данные сна. его предоставление списка сеансов, но не предоставлять набор данных для сна и всего. {< /p> [code]Calendar cal = Calendar.getInstance(); Date now = new Date(); cal.setTime(now); long endTime = cal.getTimeInMillis(); cal.add(Calendar.DAY_OF_MONTH, -1); long startTime = cal.getTimeInMillis(); DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(requireContext()); Log.i(TAG, "SLEEP Range Start: " + dateFormat.format(startTime)); Log.i(TAG, "SLEEP Range End: " + dateFormat.format(endTime)); SessionReadRequest request = new SessionReadRequest.Builder() .readSessionsFromAllApps() .includeSleepSessions() .read(DataType.TYPE_SLEEP_SEGMENT) .setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS) .build(); Fitness.getSessionsClient(requireContext(),getGoogleSigningAccount()) .readSession(request) .addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(SessionReadResponse sessionReadResponse) { for (int i = 0; i < sessionReadResponse.getSessions().size(); i++) { Session session = sessionReadResponse.getSessions().get(i); // If the sleep session has finer granularity sub-components, extract them: List dataSets = sessionReadResponse.getDataSet(session); for (int j = 0; j < dataSets.size(); j++) { DataSet mDataSet = dataSets.get(j); for (DataPoint point : mDataSet.getDataPoints()) { String sleepStageVal = "" + point.getValue(Field.FIELD_SLEEP_SEGMENT_TYPE).asInt(); long segmentStart = point.getStartTime(TimeUnit.MILLISECONDS); long segmentEnd = point.getEndTime(TimeUnit.MILLISECONDS); Log.i(TAG, "\t* Type $sleepStage between $segmentStart and $segmentEnd" + segmentStart + "" + segmentEnd); } } } } });}" [/code] заранее спасибо. Подробнее здесь: [url]https://stackoverflow.com/questions/73050653/google-fit-sleep-data[/url]