На самом деле я пытаюсь сделать простое приложение погоды для Android. Я использовал конфигурационное действие «WeatherAppWidgetConfigure», которое использует общие настройки для выбора разных городов (они хранятся в виде строкового массива в ресурсах), и когда я добавляю виджет, он отображает прогноз погоды для этого города. Пока я это сделал, и разные экземпляры виджетов показывают соответствующий прогноз погоды. Но я хочу реализовать функцию обновления (кнопка обновления) в этом виджете, которая обновляет погоду для этого виджета. Я с треском провалился на этом. Здесь я использовал «MyWeatherAppWidgetProvider», который расширяет AppWidgetProvider, откуда я пытаюсь вызвать сервисный класс «UpdateWeatherAppWidgetService», чтобы выполнить то, что мне нужно. Ссылка на мой предыдущий код находится здесь как выполнить обновление виджета по сервису после нажатия кнопки?
В "WeatherAppWidgetConfigure" я взял некоторые ссылки из http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetConfigure.html
, где я не понимаю, почему я должен использовать:
// Find the widget id from the intent.
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
, поскольку я нигде не вызывал WeatherAppWidgetConfigure явно. Фактически, я могу получить доступ к классу обслуживания только при добавлении виджета, но не при нажатии кнопки обновления.