我的 Android 应用程序面向 SDK 28 并连接到 Google Fit 以上传数据并读取一些其他数据。该应用程序使用 HistoryAPI 读取 com.google.step_count.delta 数据。
如果应用面向 SDK 28 但在 SDK 29 上运行,则此文档声称“com.google.android.gms.permission.ACTIVITY_RECOGNITION 权限将转换为预先授予的运行时权限”:https : //developers.google.com/fit /android/授权#android_permissions
我已经像文档所说的那样添加到应用程序的清单中。
当这个 Android 应用程序在运行 Android 10 (SDK 29) 的设备上并且用户第一次连接到 Google Fit 时,我收到一条日志:
There was a problem subscribing.com.google.android.gms.common.api.ApiException: 10: SecurityException: com.google.step_count.delta requires android.permission.ACTIVITY_RECOGNITION
Run Code Online (Sandbox Code Playgroud)
然而文档声称这将被转换为预先授予的运行时权限。
团队尚未准备好将应用程序的目标 SDK 迁移到 29,那么我们如何继续获取 com.google.step_count.delta 数据而不出现此错误?
我假设这个日志意味着它实际上并没有连接,因为没有日志语句说:
Successfully subscribed to com.google.step_count.delta
Run Code Online (Sandbox Code Playgroud) android android-permissions google-fit-sdk google-fit android-10.0