Это виджет часов, но с очень большим шрифтом (вся причина разработки этого виджета заключается в том, что шрифт стандартного виджета слишком мал для меня).
Виджет отображает:
- Текущее время в Великобритании — через TextClock (крупный шрифт)
- Текущее время во втором часовом поясе – через TextClock (меньший шрифт, часовой пояс выбирается пользователем)
- Местоположение второго часового пояса – через TextView
- Текущая дата – через TextView
Чтобы избежать частых обновлений с помощью android:updatePeriodMillis
(в app_widget_provider_info.xml), я:
- Установил updatePeriodMillis до 0 (автоматическое обновление отключено)
- Использовал AlarmManager и PendingIntents для запуска BroadcastReceiver, который обновляется:
Один раз в 00:03 (после полуночи) - Один раз в 06:15 (после процедуры энергосбережения Samsung) заканчивается)
Чтобы убедиться, что обновления работают, я добавил дополнительный TextView, показывающий текущее время при каждом вызове updateAppWidget().
Код: Выделить всё
private void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId) {
String currentTime = new SimpleDateFormat("hh:mm:ss").format(new java.util.Date());
views.setTextViewText(R.id.appwidget_updateTime, "[" + currentTime + "]");
}
Код: Выделить всё
updateAppWidget()Проблема
Моя проблема сейчас заключается в том, что этот TextView обновляется примерно каждые 10 минут или около того.
Следовательно, он побеждает мой надеюсь на отсутствие частых обновлений.
Попытки устранения неполадок
Неудачные попытки устранения неполадок привели к тому, что я создал текстовый файл журнала, который добавляет элемент с отметкой даты и времени каждый раз, когда выполняются общедоступные коды void onUpdate и/или широковещательный приемник.
Пока это работает, он не фиксирует никаких событий, соответствующих частым обновлениям TextView.
Вопрос
Есть ли что-нибудь в стандартном/ожидаемом поведении виджета HomeScreen, что могло бы объяснить эти частые обновления TextView?
Подробнее здесь: https://stackoverflow.com/questions/797 ... expectedly
Мобильная версия