Планирование повторяющейся тревоги / события - PullRequest
0 голосов
/ 27 апреля 2010

У меня есть класс, который расширяет приложение. В классе я звоню в AlarmManager и передаю намерение. Как и планировалось, мой класс EventReceiver, который расширяет BroadcastReceiver, обрабатывает вызов в методе onReceive. Как бы я снова вызвал намерение из метода onReceive, чтобы запланировать другое событие?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2010
final Intent intent = new Intent(context, YourService.class);
final PendingIntent pending = PendingIntent.getService(context, 0, intent, 0);
final AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pending);
long interval = 30000;//milliseconds
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(),interval, pending);

Более полный образец можно найти в примере приложения Photostream http://code.google.com/p/apps-for-android/.

0 голосов
/ 27 апреля 2010

Вы можете использовать setRepeating() вместо set(), чтобы оно повторялось автоматически. Или просто создайте другой PendingIntent на эквивалентном Intent (то же действие, тот же Uri, тот же компонент и т. Д.). Вам не нужен каждый раз оригинальный PendingIntent объект.

...