大佬教程收集整理的这篇文章主要介绍了Google Fit:不使用读取范围读取步骤,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑到 Google Fit 的政策和 API 即将发生变化,我正在尝试调整我的代码以摆脱任何读取范围(因为它们将被声明为限制性的)。
我需要记录步骤并定期阅读。
我用这些 fitnessOptions
fitnessOptions.builder()
.addDataType(DataType.TYPE_STEP_COUNT_DELTA,fitnessOptions.ACCESS_WRITE)
.build()
我记录的步骤没有任何问题,但是当尝试从历史客户端读取它们时,它不起作用,除非我使用以下行将 READ Scope 添加到 fitnessOptions
:
.addDataType(DataType.TYPE_STEP_COUNT_DELTA,fitnessOptions.ACCESS_READ)
但根据 update documentation 我应该能够读取我的应用程序获得的数据而无需任何读取范围:
现在,写入范围允许您的应用仅对应用写入的数据具有写访问权限和读访问权限。
fitness.getHistoryClIEnt(this,getGoogleAccount())
.readData(
DataReadrequest.builder().read(DataType.TYPE_STEP_COUNT_DELTA)
.bucketByActivitySegment(1,TimeUnit.minutES)
.setTimeRange(startTime,endTime,TimeUnit.MILliSECONDS)
.enableServerQuerIEs()
.build()
).addOnsuccessListener {
Log.i(tag,"Data obtained")
}.addOnFailureListener {
Log.e(tag,"Error obtaining Google Fit History data",it);
}
更新:
按照@AndyTurner 的建议,我尝试从我自己的 Datasource 记录和读取数据,但是当我从历史客户端读取它时,我没有收到任何 DataPoint。
这是我的数据源:
val datasource = Datasource.builder()
.setDataType(DataType.TYPE_STEP_COUNT_DELTA)
.setAppPackage@R_419_6889@(BuildConfig.APPliCATION_ID)
.setType(Datasource.TYPE_DERIVED) // Also trIEd with Datasource.TYPE_RAW
.build()
这就是我现在记录步骤的方式:
fitness.getRecordingClIEnt(this,getGoogleAccount())
.subscribe(datasourcE)
.addOnsuccessListener {
logger.d(tag,"Google Fit recording steps");
}
检索历史数据的代码与之前发布的相同,但使用数据源而不是数据类型。
请注意,我的应用程序不依赖任何硬件来读取步骤。它尝试从 Google Fit 步数实现中读取它(使用设备传感器)
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Google Fit:不使用读取范围读取步骤全部内容,希望文章能够帮你解决Google Fit:不使用读取范围读取步骤所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。