2015-09-07 3 views
3

У меня есть таймер в моем приложении виджета. Этот таймер будет обновлять пользовательский интерфейс Widget каждую секунду. Весь процесс работает отлично. Но, когда пользователь удаляет мое приложение из списка задач последних приложений, таймер немедленно останавливается.Android: Прекращение работы Виджет, когда пользователь удаляет приложение из списка недавних задач

Кто-нибудь знает, как исправить эту проблему?

+0

Используете ли вы службу для запуска таймера? –

+0

Нет, я не пользуюсь сервисом, я начну таймер в методе «onUpdate». Таймер - статическое поле. –

+0

Как я уже сделал аналогичный проект в прошлом, так оно и не получится. Я пробовал ваше решение, и таймер останавливался через какое-то время, несмотря ни на что. Я отвечу в ответ. –

ответ

1

Поставьте свою логику для управления Widget в Service. в методе onStartCommand(), запустите программу планировщика времени или зарегистрируйтесь для ACTION_TIME_TICK, который отправит событие каждую минуту.

Также не забудьте вернуть START_STICKY из вашего Service, чтобы ОС могла перезапустить службу в тех случаях, когда ваш процесс закрывается самой ОС или удаляется из списка недавних задач.

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

+0

не существует Исправить эту ошибку без службы? –

+0

Я не думаю, что это ошибка. См. Ответ здесь: http://stackoverflow.com/a/6299862/2511775 Объект 'BroadcastReceiver' очищается довольно быстро. И «AppWidgetProvider» является дочерью «BroadcastReceiver». –

+0

@Sarlak Я устал от твоей идеи, но не работаю, я возвращаю START_STICKY, но ОС не перезагружается Служба –

Смежные вопросы

 Смежные вопросы