0

Webから同じデータを読み取って設定に保存するサービスであるonUpdateメソッドを開始するウィジェットがあります。このサービスは、ウィジェットの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 に答える