2016-11-27 76 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); 
     } 
    } 
}); 

從上面的代碼​​這是距離的情況下,虛假的,而我試圖讓步驟和熱量返回true。

以上代碼均在後臺線程中運行。

+0

面對同樣的問題,如果有人知道,請讓我知道。 – Smeet

回答

2

你可以請嘗試添加下面的範圍?

.addScope(新的Scope(Scopes.FITNESS_LOCATION_READ))

還與新飛度API升級:

編譯「com.google.android.gms:播放服務 - 健身:10.0.0'

+0

thx很多@smeet – Query