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_SPEED)”替换“.setDataType(DataType.TYPE_ACTIVITY_SEGMENT)”解决了这个问题,我必须添加一个新权限:“addScope(new Scope(Scopes.FITNESS_LOCATION_READ_WRITE))”

于 2015-03-11T14:33:10.920 回答
0

您没有付出太多努力,但身份验证发生了变化。请参阅Google Fit 开发者 G+ 页面的公告一

于 2015-03-10T17:09:41.973 回答