其实我正在尝试为Android制作简单的天气应用程序。我使用了配置活动“WeatherAppWidgetConfigure”,它使用共享首选项来选择不同的城市(它们在资源中存储为字符串数组),当我添加小部件时,它会显示该城市的天气预报。到目前为止,我做到了这一点,小部件的不同实例显示了各自的天气预报。但我想在此小部件中实现更新功能(更新按钮),以更新该小部件的天气。我这样做的惨遭失败。在这里,我使用了“MyWeatherAppWidgetProvider”,它扩展了AppWidgetProvider,我尝试调用服务类“UpdateWeatherAppWidgetService”来完成我需要的工作。链接到我之前的代码是how to perform widget update by service after clicking a button?
在“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。事实上,我可以在添加小部件时访问服务类,但不能在单击更新按钮时访问服务类。