Виджет, который использует действия по настройке и onUpdate для последующих обновлений в Android - PullRequest
1 голос
/ 09 января 2012

На самом деле я пытаюсь сделать простое приложение погоды для 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 явно. Фактически, я могу получить доступ к классу обслуживания только при добавлении виджета, но не при нажатии кнопки обновления.

...