如何解决Google Fit oauth 屏幕出现不一致的情况是什么?
我希望我的应用为 Google Fit 授权显示一个屏幕。有时只出现第一张图像(如下所示)。大多数情况下,它会出现 9 个单独的屏幕,需要单独授予每个权限(图 2),然后在单独授予所有权限后,会弹出一个最终屏幕,要求再次授予所有权限(图 3)!理想情况下,我想弄清楚如何只显示第一个屏幕,而不是屏幕 2 和 3。我见过其他应用程序专门显示第一个屏幕,所以我相信这是可能的。这是我当前使用的代码:
fun authorize(context: Context) {
val fitnessOptions = getfitnessOptions()
if (!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(FITIVpulse.context),fitnessOptions)) {
GoogleSignIn.requestPermissions(
context as Activity,// your activity
GOOGLE_FIT_PERMISSIONS_REQUEST_CODE,GoogleSignIn.getAccountForExtension(context,fitnessOptions),fitnessOptions)
}
appSettings.askedForGoogleFitPermissions = true
}
private fun getfitnessOptions():fitnessOptions{
return fitnessOptions.builder()
.addDataType(DataType.AGGREGATE_HEART_RATE_SUMMARY,fitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_LOCATION_SAMPLE,fitnessOptions.ACCESS_WRITE)
.addDataType(DataType.TYPE_CALORIES_EXPENDED,fitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_CALORIES_EXPENDED,fitnessOptions.ACCESS_WRITE)
.addDataType(DataType.TYPE_HEART_POINTS,fitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_HEART_RATE_BPM,fitnessOptions.ACCESS_WRITE)
.addDataType(DataType.TYPE_MOVE_MINUTES,fitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_WEIGHT,fitnessOptions.ACCESS_WRITE)
.addDataType(DataType.TYPE_STEP_COUNT_DELTA,fitnessOptions.ACCESS_READ)
.addDataType(HealthDataTypes.TYPE_BLOOD_PRESSURE,fitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_disTANCE_DELTA,fitnessOptions.ACCESS_READ)
.addDataType(DataType.AGGREGATE_ACTIVITY_SUMMARY,fitnessOptions.ACCESS_READ)
.build()
}
大多数时候是这两张图片出现。单独授予所有权限,然后要求我确认我的选择。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。