Создал виджет для проверки баланса у провайдера. Он отлично работает. Теперь хочу его развить - добавить возможность выбора интервала обновления. Добавил произвольный интервал обновления по примеру отсюда http://www.parallelrealities.co.uk/2011 ... droid.html Всё работает, но все мои виджеты обновляются одновременно и у меня никак не получается сделать для каждого виджета свой интервал обновления.
Моя идея выглядит так:
Код: Выделить всё
public static void updateAppWidget(Context context, int[] appWidgetIds) {
Log.v(TAG, "updateAppWidget");
final AlarmManager alarmManager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
final Calendar TIME = Calendar.getInstance();
final Intent intent = new Intent(context, WidgetUpdateService.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
if (pendingIntent == null) {
pendingIntent = PendingIntent.getService(context, 0, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
}
// БЫЛО В ОРИГИНАЛЕ
// alarmManager.setRepeating(AlarmManager.RTC, TIME.getTime().getTime(),
// 1000 * 60 * 5, pendingIntent);
// МОЯ НЕ РАБОТАЮЩАЯ ИДЕЯ
SharedPreferences prefs = context.getSharedPreferences("statPrefs",
Context.MODE_PRIVATE);
for (int appWidgetId : appWidgetIds) {
int updateInterval = prefs.getInt(UPDATEINTERVAL + appWidgetId,
1000 * 60 * 30);
//Log.v(TAG, "updateInterval: " + updateInterval + " appWidgetId: " + appWidgetId);
alarmManager.setRepeating(AlarmManager.RTC, TIME.getTime()
.getTime(), updateInterval, pendingIntent);
context.startService(intent);
}
}

