Ошибка выполнения: это приложение не может получить доступ к Health Connect

Я разработчик фитнес-приложения, которое пытается интегрироваться с 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

Пытался:

  1. Хорошо работал на отладочных сборках
  2. Работало на моих устройствах при распространении через внутреннее тестирование в Play Store.
  3. Не работало, когда клиенты на канале закрытого тестирования пытались его использовать. Они получают диалоговое окно с ошибкой, прикрепленное выше.

Ожидание:

  1. Одинаковое поведение для всех пользователей на всех каналах/устройствах.
Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
1
0
122
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В настоящее время приложения должны быть внесены в белый список, чтобы получить доступ к 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

Другие вопросы по теме