Обновление виджета по системной цели трансляции
Я работаю над виджетом Android, который будет показывать текущее состояние сети (например, 1xRTT, EvDo Rev. A, WiMax и т. Д.). Это может показаться бессмысленной идеей, но по какой-то причине Evo не делает различий между 1x и EvDo, а просто говорит о 3G для обоих, что раздражает, если вы находитесь в зоне действия 3G.
В любом случае, к сути: у меня есть завершенный виджет, и он прекрасно обновляется с текущей сетью, но как я могу сделать так, чтобы он обновлялся при изменении соединения? Я знаю, что могу использовать BroadcastReceiver для перехвата намерения ConnectivityManager.CONNECTIVITY_ACTION, которое система отправляет при изменении соединения. Как я могу обновить виджет оттуда?
Или я могу использовать AppWidgetProvider, чтобы поймать намерение, а затем обновить?
Я знаю, как поймать намерение, я просто не знаю, как обновить виджет, как только я это сделаю.
1 ответ
Или я могу использовать AppWidgetProvider, чтобы поймать намерение, а затем обновить?
Это должно работать. Вам нужно будет переопределить onReceive()
, Ищу CONNECTIVITY_ACTION
Intents
, обрабатывать их самостоятельно и связать с суперклассом для поведения по умолчанию.