0

我有一个以 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 方法……为什么?

4

1 回答 1

0

这是更新小部件的代码

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

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

于 2012-04-19T15:28:13.057 回答