2016-11-27 13 views
1

私はGoogle Fit APIを使用しています。履歴アフィを使用して特定してくださいフィットネス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); 
     } 
    } 
}); 

これは、距離の場合はfalseで、私はステップとカロリーを取得しようとしながら、それはtrueを返します。

上記のコードはすべてバックグラウンドスレッドで実行されます。

+0

誰かが知っている場合は、同じ問題に直面して、私に知らせてください。 – Smeet

答えて

2

以下のスコープを追加してみてください。また

.addScope(新しいスコープ(Scopes.FITNESS_LOCATION_READ))

新しいフィットAPIを使用してアップグレードします。

コンパイル「com.google.android.gms:遊ぶ - サービス - フィットネス:10.0.0 '

+0

thnx a lot @smeet – Query

関連する問題