どうやら私はGoogle Fit Android SDKを使い終わってしまった。現在、Google Fitのデータを読み取り、表示して処理するアプリケーションを構築しており、ユーザーにはトレーニングの動作に関する情報を提供しています。Google Fit SessionsApiは時間範囲内のすべてのセッションを返さない
私の状況は次のとおりです。私はGoogle Pixelでテストしました。すべて正常であり、Google Fitからすべて(20以上)のセッションを受け取りました。 1週間前、私はHTC10に切り替えました - このデバイスでは、Google Fitから同じセッション、同じコード、同じGoogle Fitアカウント(Google Fitアプリケーションの場合)を受信しています( すべてのワークアウトとセッション)。私が読もうとしているセッションは、自分のアプリではなく、Google Fitアプリケーション自体で作成されました。でも、古い携帯電話では、私はそれらを読むことができませんでした。
わかりやすくするためにコードを貼り付けてください。
GoogleApiClientセットアップ
googleApiClient = GoogleApiClient.Builder(context)
.addApi(Fitness.HISTORY_API)
.addApi(Fitness.SESSIONS_API)
.addApi(Fitness.RECORDING_API)
.addApi(Fitness.GOALS_API)
.addScope(Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
.addScope(Scope(Scopes.FITNESS_BODY_READ_WRITE))
接続した後、私はいくつかのRecordingApis(TYPE_WORKOUT_EXERCISE
、TYPE_WEIGHT
、TYPE_CALORIES_EXPENDED
)
SessionReadRequest
を購読する:セッションを読む
val sessionRequest = SessionReadRequest.Builder()
.setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS)
.read(DataType.TYPE_WORKOUT_EXERCISE)
.readSessionsFromAllApps()
.enableServerQueries()
.build()
:
Fitness.SessionsApi.readSession(googleApiClient, sessionRequest)
.setResultCallback { result ->
Timber.d("Sessions result: %s", result.status)
Timber.d("Got %d sessions", result.sessions.size) // returns only 4! for 2014-NOW timerange
}
ご協力いただければ幸いです。
Google PixelとHTCの横にある他のデバイスの動作は何ですか? – AADProgramming
まだ3台目のデバイスでテストしていませんでした。なぜなら、2台のデバイス間でデータが一貫していると思っていたからです。 – damian