安排定期发出的警报/事件

时间:2010-04-26 21:35:18

标签: android android-intent broadcastreceiver

我有一个扩展Application的类。在类中,我调用AlarmManager并传入一个intent。按计划,扩展BroadcastReceiver的EventReceiver类处理onReceive方法中的调用。如何从onReceive方法再次调用intent来安排另一个事件?

2 个答案:

答案 0 :(得分:0)

您可以使用setRepeating()代替set(),让它自动重复出现。或者,只需在等效PendingIntent上创建另一个Intent(相同的操作,相同的Uri,相同的组件等)。您每次都不需要原始的PendingIntent对象。

答案 1 :(得分:0)

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/中找到更完整的示例。