我有一个小部件,从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方法......为什么?
答案 0 :(得分:0)
以下是更新小部件的代码
ComponentName thisWidget = new ComponentName(context, YourAppWidgetprovider.class);
AppWidgetManager manager = AppWidgetManager.getInstance(context); manager.updateAppWidget(thisWidget, updateViews);
updateViews是RemoteViews对象。在调用更新之前,请使用您的数据更新此远程视图。