Я разработчик фитнес-приложения, которое пытается интегрироваться с Health Connect, я следовал всем спецификациям API и заставил его работать на моих тестовых телефонах, и если я устанавливаю его на свой телефон через канал внутреннего тестирования в Google Play. Это прекрасно работает. Однако, когда мы распространили приложение среди наших тестировщиков через канал закрытого тестирования в Google Play, они получили следующее сообщение:
This app can't access Health Connect
Ошибку видят на телефоне
Они обновили приложение в соответствии с инструкциями. У них у всех установлен Health Connect (бета), но при попытке запросить разрешения внутри нашего приложения они получают ошибку.
Какие еще разрешения нужны опубликованным приложениям, чтобы это работало? Спасибо,
Способ доступа приложения к клиенту:
private val requestPermissions =
registerForActivityResult(requestPermissionActivityContract) { granted ->
updatePermissionsList(granted)
}
...
viewLifecycleOwner.lifecycleScope.launchWhenStarted {
val granted =
HealthConnectClient.getOrCreate(requireContext())
.permissionController
.getGrantedPermissions(CoPilotHealthConnectApi.PERMISSIONS)
if (granted.containsAll(CoPilotHealthConnectApi.PERMISSIONS)) {
val intent =
requireContext()
.packageManager
.getLaunchIntentForPackage("com.google.android.apps.healthdata")
context?.startActivity(intent)
} else {
requestPermissions.launch(CoPilotHealthConnectApi.PERMISSIONS)
}
...
Файл сборки:
minSdk 28
targetSdk 33
Пытался:
Ожидание:
В настоящее время приложения должны быть внесены в белый список, чтобы получить доступ к Health Connect. Вы можете следить за процессом, описанным по адресу: https://developer.android.com/guide/health-and-fitness/health-connect/frequently-asked-questions#q_how_do_i_request_access_to_readwrite_data_types