Как обновлять виджет каждую минуту

Может ли кто-нибудь сказать мне лучший способ обновить виджет каждую минуту.

Теперь я использую thread внутри AppWidget, но иногда я получаю ошибку FAILED BINDER TRANSACTION !!! После этой ошибки, я всегда получал много ошибок, как это все время, и я не могу изменить вид в своем виджетах снова.

благодаря

Вместо того, чтобы использовать поток в AppWidget, вам лучше будет обслуживать, используя AlarmManager, чтобы запланировать повторяющееся намерение обновления AppWidget, которое ваш код будет обрабатывать соответствующим образом.

Преимущества этого подхода – возможность настроить скорость обновления, а также обрабатывать случай снаживания устройства (а не пробуждение для запуска вашего кода или даже блокировку сна, потому что ваш поток занят).

В Интернете есть множество примеров, которые должны объяснять, как использовать AlarmManager, чтобы поднять настройки AppWidget Update Intents.

Система отправляет широковещательное событие в точном начале каждой минуты на основе системных часов. Создайте сервис с вашим виджетами и сделайте что-то вроде этого:

 BroadcastReceiver _broadcastReceiver; private final SimpleDateFormat _sdfWatchTime = new SimpleDateFormat("HH:mm"); private TextView _tvTime; @Override public void onStart() { super.onStart(); _broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context ctx, Intent intent) { if (intent.getAction().compareTo(Intent.ACTION_TIME_TICK) == 0) _tvTime.setText(_sdfWatchTime.format(new Date())); } }; registerReceiver(_broadcastReceiver, new IntentFilter(Intent.ACTION_TIME_TICK)); } @Override public void onStop() { super.onStop(); if (_broadcastReceiver != null) unregisterReceiver(_broadcastReceiver); } 

Однако не забывайте инициализировать свой TextView заранее (до текущего системного времени), так как, скорее всего, вы выйдете из своего интерфейса через середину минуты, а TextView не будет обновляться до следующей минуты.

Intereting Posts
Проблема ListActivity ormlite? Android, как экспортировать банку с ресурсами? Android.os.NetworkOnMainThreadException в службе в отдельном процессе Получить URL-адрес видео в приложении для Android-приложения Youtube Как определить, какой внутренний анонимный класс указан именем класса? Android jobScheduler не остановится с jobFinished (params, false) Прокрутка второго дочернего элемента в AppBarLayout SYSTEM_ALERT_WINDOW – как получить это разрешение автоматически на Android 6.0 и targetSdkVersion 23 Android Studio: отказ Android – Создать тост, привязанный к представлению Установка репозитория поддержки Android в автономном режиме Орион Контекстный брокер Контекстные подписки с клиентом Android Позиция активности диалогового окна Android Проблема упорядочивания стека событий при запуске приложения из установщика приложений Android и с главного экрана Любой способ получить ссылку на элементы Actionbar для тестирования Junit в android?