2010-06-24 3 views
1

Есть ли событие, которое запускается, когда виджет становится видимым на рабочем столе. Я не имел в виду во время установки, я имею в виду, если пользователь меняет свой рабочий экран, вытирая поверхность телефона. Основой этого вопроса является то, что я настраиваю таймер в службе внутри виджета, который получает обновления от URL-адреса, но это должно прекратиться, если виджет не находится на текущем рабочем столе.Widget Update, когда пользователь переключает домашний экран

Freudi

ответ

3

Есть способ сделать это, вы можете прослушивать Intent.ACTION_USER_PRESENT трансляцию и обновлять свой виджет при получении намерения.

Он будет запущен, когда пользователь откроет главный экран.

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

0

Нет, извините. Есть десятки приложений для домашнего экрана, некоторые из которых, возможно, даже не имеют понятия «вытирание поверхности телефона». Домашний экран - это просто активность с конкретным <intent-filter>.

+0

Это странно. Я положил виджет Yahoo-Currency на другой рабочий стол. Если я отключу свой рабочий стол по умолчанию на этом экране, этот виджет начнет обновлять свои текущие данные. Так почему-то он знает, что это видно сейчас. – 2010-06-24 12:16:59

+0

Откуда вы знаете, что только на самом деле он «начинает обновлять свои валютные данные»? – CommonsWare

+0

Я этого не знал. Я просто вижу это. Какова ваша догадка? – 2010-06-24 13:25:54

0

Не уверен, если это помогает, но я наткнулся на это ..

WallpaperManager.setWallpaperOffsets() и WallpaperService.onOffsetChanged()

Может быть, вы могли бы использовать это? Установить смещения обоев и использовать onOffsetChanged() для получения текущих смещений?

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