Android:小部件和服务

时间:2012-04-19 14:57:21

标签: android service widget

我有一个小部件,从onUpdate方法开始,一个从web读取相同数据的服务并将其保存到首选项中,然后该服务必须调用小部件的onUpdate方法以使用此数据更新它。我在服务中使用此代码

Intent i = new Intent();
i.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarm = (AlarmManager)getApplicationContext().getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 5000, pi);

但是这段代码不会调用小部件的onUpdate方法......为什么?

1 个答案:

答案 0 :(得分:0)

以下是更新小部件的代码

ComponentName thisWidget = new ComponentName(context, YourAppWidgetprovider.class);
        AppWidgetManager manager = AppWidgetManager.getInstance(context);           manager.updateAppWidget(thisWidget, updateViews);

updateViews是RemoteViews对象。在调用更新之前,请使用您的数据更新此远程视图。