Android 如何在Google Play Services中访问Google Fit用户目标?

Android 如何在Google Play Services中访问Google Fit用户目标?,android,google-play-services,google-fit,Android,Google Play Services,Google Fit,我正在使用Play Services在Android应用程序中显示每日用户步骤数据和活动时间。我的API设置正常,一切正常,但我还想阅读用户的目标(在Google Fit配置文件中设置的目标),了解每日步骤和活动时间,以便显示实现的百分比。我如何做到这一点?我在com.google.android.gms.fitness.*中找不到提供此功能的任何API 谢谢 Michael截至目前(2015年9月22日),不可能从Google Fit API获得step目标 注意:操作\查看\目标只允许用户查

我正在使用Play Services在Android应用程序中显示每日用户步骤数据和活动时间。我的API设置正常,一切正常,但我还想阅读用户的目标(在Google Fit配置文件中设置的目标),了解每日步骤和活动时间,以便显示实现的百分比。我如何做到这一点?我在com.google.android.gms.fitness.*中找不到提供此功能的任何API

谢谢

Michael

截至目前(2015年9月22日),不可能从Google Fit API获得step目标


注意:操作\查看\目标只允许用户查看。我也无法让它工作。

android play服务(9.8.0)的最新变化应该是 让这成为可能

1.将Fitness.GOALS\u API添加到GoogleAppClient

googleApiClient = new GoogleApiClient.Builder(CrossoverWatchFaceService.this)
                .addConnectionCallbacks([...])
                .addApi(Fitness.HISTORY_API)
                .addApi(Fitness.GOALS_API)
                .useDefaultAccount()
                .build();
        googleApiClient.connect();
2.检索目标

pendingreult pendingreult=
Fitness.GoalsApi.readCurrentGoals(
GoogleapClient,
新建GoalsReadRequest.Builder()
.addDataType(数据类型.TYPE\u步骤\u计数\u增量)
.build());
Pendingreult.setResultCallback(
新的ResultCallbacks(){
@凌驾
成功时公共无效(@NonNull GoalsResult GoalsResult){
列出目标=goalsResult.getGoals();
//你的代码在这里
}
@凌驾
public void onFailure(@NonNull状态){
Log.d(标签“onFailure:”);
}
});


如果要使用同步调用,请使用下面的代码段作为第二部分检索目标:

PendingResult<GoalsResult> pendingResult = Fitness.GoalsApi.readCurrentGoals(
            googleApiClient, new GoalsReadRequest.Builder()
                    .addDataType(DataType.TYPE_STEP_COUNT_DELTA)
                    .build());

GoalsResult goalsResult = pendingResult.await();
List<Goal> goals = goalsResult.getGoals();
// assume 1st goal is step count
double stepGoal = goals.get(0).getMetricObjective().getValue();
pendingreult pendingreult=Fitness.GoalsApi.readCurrentGoals(
GoogleAppClient,新的GoalsReadRequest.Builder()
.addDataType(数据类型.TYPE\u步骤\u计数\u增量)
.build());
GoalsResult GoalsResult=pendingreult.await();
列出目标=goalsResult.getGoals();
//假设第一个目标是步数
double-stepGoal=goals.get(0.getMetricObjective().getValue();

我有一个相同的问题,你找到解决方案了吗?这里有相同的问题!你找到答案了吗?!我也找不到任何东西。我在Google api文档中发现的唯一一件事是:公共静态最终字符串操作\u查看\u目标:广播操作:用户请求查看其当前健身目标。
PendingResult<GoalsResult> pendingResult = Fitness.GoalsApi.readCurrentGoals(
            googleApiClient, new GoalsReadRequest.Builder()
                    .addDataType(DataType.TYPE_STEP_COUNT_DELTA)
                    .build());

GoalsResult goalsResult = pendingResult.await();
List<Goal> goals = goalsResult.getGoals();
// assume 1st goal is step count
double stepGoal = goals.get(0).getMetricObjective().getValue();