Обновление виджета по системной цели трансляции

Я работаю над виджетом Android, который будет показывать текущее состояние сети (например, 1xRTT, EvDo Rev. A, WiMax и т. Д.). Это может показаться бессмысленной идеей, но по какой-то причине Evo не делает различий между 1x и EvDo, а просто говорит о 3G для обоих, что раздражает, если вы находитесь в зоне действия 3G.

В любом случае, к сути: у меня есть завершенный виджет, и он прекрасно обновляется с текущей сетью, но как я могу сделать так, чтобы он обновлялся при изменении соединения? Я знаю, что могу использовать BroadcastReceiver для перехвата намерения ConnectivityManager.CONNECTIVITY_ACTION, которое система отправляет при изменении соединения. Как я могу обновить виджет оттуда?

Или я могу использовать AppWidgetProvider, чтобы поймать намерение, а затем обновить?

Я знаю, как поймать намерение, я просто не знаю, как обновить виджет, как только я это сделаю.

1 ответ

Решение

Или я могу использовать AppWidgetProvider, чтобы поймать намерение, а затем обновить?

Это должно работать. Вам нужно будет переопределить onReceive(), Ищу CONNECTIVITY_ACTIONIntents, обрабатывать их самостоятельно и связать с суперклассом для поведения по умолчанию.

Другие вопросы по тегам