1

私のアプリケーションに実装されたコードは、一度は機能し、データは Google Fit に正しく挿入/表示されましたが、現在は機能しません。

もテストしましたBasicHistoryApiが、機能しません。( https://github.com/googlesamples/android-fit ) このテスト アプリがエラーを返さないスクリーンショット: ここに画像の説明を入力

この方法を使用して正しく機能するかどうか教えてくださいFitness.HistoryApi.insertData()。機能させるための解決策が見つからないためです。

このコード スニペットは「成功」を返しますが、Google Fit に変更はありません。

		DataSet runningDataSet = DataSet.create(runningDataSource);
		runningDataSet.add(runningDataSet.createDataPoint().setTimeInterval(
				startTime, endTime, TimeUnit.MILLISECONDS));

		Session session = new Session.Builder().setName("TEST " + startTime)
				.setDescription("Test description")
				.setIdentifier("TEST " + " - " + startTime)
				.setActivity(FitnessActivities.RUNNING_JOGGING)
				.setStartTime(startTime, TimeUnit.MILLISECONDS)
				.setEndTime(endTime, TimeUnit.MILLISECONDS).build();

		SessionInsertRequest insertRequest = new SessionInsertRequest.Builder()
				.setSession(session).addDataSet(runningDataSet).build();

		Log.i(TAG, "Inserting the session in the History API");
		com.google.android.gms.common.api.Status insertStatus = Fitness.SessionsApi
				.insertSession(MainActivity.getFitnessClient(), insertRequest)
				.await(1, TimeUnit.MINUTES);

		if (!insertStatus.isSuccess()) {
			Log.i(TAG, "There was a problem inserting the session: "
					+ insertStatus.getStatusMessage());

4

2 に答える 2

1

最後に、「.setDataType(DataType.TYPE_ACTIVITY_SEGMENT)」を「.setDataType(DataType.TYPE_SPEED)」に置き換えることでこの問題を解決し、「addScope(new Scope(Scopes.FITNESS_LOCATION_READ_WRITE))」という新しい権限を追加する必要がありました。

于 2015-03-11T14:33:10.920 に答える
0

先に進むことはあまりありませんが、認証に変更がありました。Google Fit デベロッパーの G+ ページのお知らせをご覧ください

于 2015-03-10T17:09:41.973 に答える