Android: как создать будильник в AppWidgetProvider - PullRequest
1 голос
/ 18 июля 2011

мой виджет должен обновлять свои просмотры текста каждый день в 0:00.В widget_provider.xml я установил android:updatePeriodMillis="1000", но я прочитал, что минимальный период обновления составляет 30 минут, и я должен использовать alarmManager для этого.Поэтому я хочу сигнал тревоги, который запускает обновление каждый день в 0:00.UpdateService.class обрабатывает обновление (настройка текстов для текстовых представлений на основе даты. Класс не вызывается примерно через полчаса после полуночи)

В методе public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) я использую этот код:

 Intent intentN = new Intent(context, UpdateService.class);
 PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
 AlarmManager alarmManager = (AlarmManager)getSystemService(context.ALARM_SERVICE);
 Calendar cal = Calendar.getInstance();
 cal.setTimeInMillis(System.currentTimeMillis());
 cal.add(Calendar.HOUR_OF_DAY, 0);
 cal.add(Calendar.MINUTE, 0);
 alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000, pendingIntent);

В третьей строке скопированного фрагмента Eclipse говорит:

The method getSystemService(String) is undefined for the type HelloWidget

HelloWidget - это имя AppWidgetProvider.

Спасибо

1 Ответ

2 голосов
/ 18 июля 2011

Вы пробовали

AlarmManager alarmManager = (AlarmManager)context.getSystemService(context.ALARM_SERVICE);
...