Android 如何在一天内完成所有google fit活动

Android 如何在一天内完成所有google fit活动,android,google-fit,google-fit-sdk,Android,Google Fit,Google Fit Sdk,当我特别订阅时,我知道如何从google Fit获取各种数据,比如步骤或卡路里。 但是,我如何检索用户执行的所有活动,而不知道他们到底执行了哪些活动 还有,我如何获得活动(如爬楼梯)的值? 它在DataType类中不可用,google开发者网站上的示例仅显示步骤和卡路里。 谢谢我发现我只能找到使用Sessions API的所有练习 我先提出请求 委员会: 在这里进行所有训练都很重要 private SessionReadRequest readFitnessSession() {

当我特别订阅时,我知道如何从google Fit获取各种数据,比如步骤或卡路里。 但是,我如何检索用户执行的所有活动,而不知道他们到底执行了哪些活动

还有,我如何获得活动(如爬楼梯)的值? 它在DataType类中不可用,google开发者网站上的示例仅显示步骤和卡路里。
谢谢

我发现我只能找到使用Sessions API的所有练习

我先提出请求

委员会:

在这里进行所有训练都很重要

    private SessionReadRequest readFitnessSession() {
    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();

    // Build a session read request
    SessionReadRequest readRequest = new SessionReadRequest.Builder()
            .setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS)
            .read(DataType.TYPE_WORKOUT_EXERCISE)
            .readSessionsFromAllApps()
            .build();
    // [END build_read_session_request]

    return readRequest;
}
并读取会话数据

    private void readSessionsApiAllSessions() {

    SessionReadRequest readRequest = readFitnessSession();

    Fitness.getSessionsClient(getActivity(), GoogleSignIn.getLastSignedInAccount(getActivity()))
            .readSession(readRequest)
            .addOnSuccessListener(new OnSuccessListener<SessionReadResponse>() {
                @Override
                public void onSuccess(SessionReadResponse sessionReadResponse) {
                    // Get a list of the sessions that match the criteria to check the result.
                    List<Session> sessions = sessionReadResponse.getSessions();
                    Log.i(TAG, "Session read was successful. Number of returned sessions is: "
                            + sessions.size());

                    for (Session session : sessions) {
                        // Process the session
                        dumpSession(session);

                        // Process the data sets for this session
                        List<DataSet> dataSets = sessionReadResponse.getDataSet(session);
                        for (DataSet dataSet : dataSets) {
                            dumpDataSet(dataSet);
                        }
                    }
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.i(TAG, "Failed to read session");
                }
            });

}
private void readSessionsApiAllSessions(){
SessionReadRequest readRequest=readFitnessSession();
Fitness.GetSessionClient(getActivity(),GoogleSignIn.GetLastSignedAccount(getActivity()))
.readSession(readRequest)
.addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(SessionReadResponse SessionReadResponse){
//获取符合条件的会话列表以检查结果。
List sessions=sessionReadResponse.getSessions();
Log.i(标记“会话读取成功。返回的会话数为:”
+sessions.size());
用于(会话:会话){
//处理会议
第一届会议(第届会议);
//处理此会话的数据集
List dataSets=sessionReadResponse.getDataSet(会话);
用于(数据集:数据集){
数据集(dataSet);
}
}
}
})
.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Log.i(标记“读取会话失败”);
}
});
}
    private void readSessionsApiAllSessions() {

    SessionReadRequest readRequest = readFitnessSession();

    Fitness.getSessionsClient(getActivity(), GoogleSignIn.getLastSignedInAccount(getActivity()))
            .readSession(readRequest)
            .addOnSuccessListener(new OnSuccessListener<SessionReadResponse>() {
                @Override
                public void onSuccess(SessionReadResponse sessionReadResponse) {
                    // Get a list of the sessions that match the criteria to check the result.
                    List<Session> sessions = sessionReadResponse.getSessions();
                    Log.i(TAG, "Session read was successful. Number of returned sessions is: "
                            + sessions.size());

                    for (Session session : sessions) {
                        // Process the session
                        dumpSession(session);

                        // Process the data sets for this session
                        List<DataSet> dataSets = sessionReadResponse.getDataSet(session);
                        for (DataSet dataSet : dataSets) {
                            dumpDataSet(dataSet);
                        }
                    }
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.i(TAG, "Failed to read session");
                }
            });

}