2016-11-27 2 views
1

Я использую Google Fit API, конкретный с использованием HistoryApiКак мне получить расстояние, используя фитнес api?

Я использую Fitness.HistoryApi.readDailyTotal, чтобы получить шаги, калории и расстояние. Из этого я получил шаги и калории, но расстояние создает проблему. Но onResult не вызван. Любая помощь будет высоко оценен.

PendingResult<DailyTotalResult> distanceResult = Fitness.HistoryApi 
    .readDailyTotal(mClient, DataType.TYPE_DISTANCE_DELTA); 

distanceResult.setResultCallback(new ResultCallback<DailyTotalResult>() { 
    @Override 
    public void onResult(DailyTotalResult dailyTotalResult) { 
     if (dailyTotalResult.getStatus().isSuccess()) { 
      DataSet totalSet = dailyTotalResult.getTotal(); 
      long distance = totalSet.isEmpty()? 0: totalSet.getDataPoints().get(0).getValue(Field.FIELD_DISTANCE).asInt(); 
      Log.i("-------------", "distance= " + distance); 
     } 
    } 
}); 

Из выше кода if (dailyTotalResult.getStatus().isSuccess()) { это неверно в случае расстояния и возвращает истину, в то время как я пытаюсь получить шаги и калории.

Все приведенные выше коды выполняются в фоновом режиме.

+0

Облицовка одной и той же проблемы, если кто-нибудь знает, сообщите мне. – Smeet

ответ

2

Не можете найти дополнительные возможности?

.addScope (новый Scope (Scopes.FITNESS_LOCATION_READ))

Также обновление с новой отделкой API:

компиляции «com.google.android.gms: играть-услуги- фитнес: 10.0.0 '

+0

thnx много @smeet – Query

Смежные вопросы