- public class WeatherWidget extends AppWidgetProvider {
- @Override
- public void onUpdate(Context context, AppWidgetManager appWidgetManager,
- int[] appWidgetIds) {
- super.onUpdate(context, appWidgetManager, appWidgetIds);
- //这样在第一次运行时也能响应用户的单击事件
- getWeatherView(context);
- //启动一个自定义更新widget的后台服务
- context.startService(new Intent(context,UpdateWidgetService.class));
- }
- @Override //当删除最后一个Widget组件后调用
- public void onDisabled(Context context) {
- super.onDisabled(context);
- //关闭后台服务
- context.stopService(new Intent(context,UpdateWidgetService.class));
- }
- //返回widget中的布局视图对象
- public static RemoteViews getWeatherView(Context context){
- RemoteViews views=new RemoteViews(context.getPackageName(), R.layout.widget_layout);
- //当击widget的主体来启动MainActivity返回到天气精灵的天气显示界面
- Intent intent = new Intent(context, MainActivity.class);
- PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
- views.setOnClickPendingIntent(R.id.weather_rootLayout, pendingIntent);
- return views;
- }
- //该片段来自于http://www.codesnippet.cn/detail/2511201514093.html
来源: http://www.codesnippet.cn/detail/2511201514093.html