Виджет на главном экране go случайно возвращается к значениям по умолчанию - PullRequest
0 голосов
/ 23 марта 2020

У меня есть виджет домашнего экрана для моего приложения, который работает очень хорошо, за исключением того факта, что он иногда сбрасывает свои представления к значениям по умолчанию.

Виджет - это кнопка, которая меняет цвет и текст в зависимости от DND вариант, который выбран. У меня также есть служба, которая прослушивает изменения DND вне приложения и соответствующим образом обновляет виджет.

Хотя технический аспект функционирует так, как задумано, существуют по крайней мере две очевидные ситуации, когда виджет удаленно просматривает go вернуться к настройкам по умолчанию (только просмотры, а не опция DND):

  1. Когда устройство оставлено без изменений в течение ночи
  2. Когда приложение закрывается в ландшафтном режиме и экран поворачивается назад в портретном режиме

Существуют и другие нечастые ситуации, когда это также происходит, хотя мне не удалось выяснить причину.

Я установил свои представления в поставщике виджетов, в onReceive () и в onUpdate (). Я также обновляю их в моем сервисе в onReceive ().

В моем сервисе onConfigurationChanged () у меня есть намерение обновить все экземпляры виджета и трансляции. Я предполагаю, что мне нужно то же самое где-то еще, но где?

Есть идеи о том, чего не хватает? Я могу предоставить более подробную информацию и код при необходимости.

РЕДАКТИРОВАТЬ: Я решил первую проблему сброса представлений, когда устройство оставлено нетронутым на ночь с этим кодом в onReceive () моего Сервиса :

          if (SCREEN_ON.equals(intent.getAction())) {
                buildUpdate(context);
            }

Если бы кто-то мог помочь со второй проблемой, я был бы благодарен.

...