Когда экран поворачивается, весь appwidget перестраивается с использованием последнего RemoteViews объекта, который вы передали AppWidgetManager .updateAppWidget (). Таким образом, очень важно, чтобы каждый раз, когда вы вызываете updateAppWidget (), вы передавали объект RemoteViews, на котором было установлено все, что нужно виджету для полного перестроения, а не только одна или две вещи, которые вы хотите обновить в виджете. дисплей.
Итак, в вашем AppWidgetProvider классе при каждом обновлении вашего appwidget вам необходимо создать объект RemoteViews, создать все настройки представления для вашего appwidget, используя этот объект, а затем сделать один вызов AppWidgetManager. .updateAppWidget (), когда вы закончите.
Полагаю, вы делаете что-то вроде этого:
- Получить объект RemoteViews
- Установить новое изображение кнопки
- Вызовите updateAppWidget ()
- Получить объект RemoteViews
- Установить отложенное намерение на кнопку
- Call updateAppWidget ()
Когда вам нужно сделать что-то вроде этого:
- Получить объект RemoteViews
- Установить новое изображение кнопки
- Установить отложенное намерение на кнопку
- Вызовите updateAppWidget ()