У меня есть вопрос, на который я пока не могу ответить. Это связано с Health Connect в виджете. Проблема в том, что Health Connect позволяет получать данные только на переднем плане. Итак, если я пытаюсь получить, например, количество шагов в виджете/WorkManager/Job/Service каждые 15-30 минут, я ловлю исключение:
java.lang.SecurityException: android.health.connect.HealthConnectException: java.lang.SecurityException: XXXXX must be in foreground to call aggregate method
Это подтверждает то, что описано в технической документации:
введите здесь описание изображения
Один из обходных путей — запросить доступ в ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, затем запустите службу переднего плана из виджета и получите оттуда всю информацию. Но мы понимаем, что не все пользователи предоставят доступ к ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
Кто-нибудь сталкивался с такой проблемой? Пока что это выглядит не очень привлекательно по сравнению с Google Fit, который позволяет обновлять данные в фоновом режиме и т. д.
ОБНОВЛЕНИЕ:
Выглядит например, ответ на мой вопрос здесь https://www.androidpolice.com/android-p ... this-year/
Health Connect will soon allow apps to read data in the background
Подробнее здесь: https://stackoverflow.com/questions/785 ... id-widgets