如何将日期列表转换为AlarmManager?

时间:2011-08-25 04:23:36

标签: android alarmmanager

我有一个大约20个日期的列表,所有日期都像

一样
August 24,2011

我将如何创建所有这些日期的列表并将其设置为警报管理器,

所以例如......今天是25,如果AlarmManager中的日期设置为25,则会发出通知。

我将如何做到这一点?

1 个答案:

答案 0 :(得分:1)

首先使用格式化程序转换为日期。然后使用getTime()从日期对象中获取时间戳。将时间戳传递给AlarmManager并指定RTCRTC_WAKEUP警报类型。类似的东西:

SimpleDateFormat sdf = new SimpleDateFormat("MMMM dd, yyyy");
Date date = sdf.parse(sdf);
long timestamp = date.getTime();

AlarmManager am = ...;
PendingIntent pi = ...;
am.set(AlarmManager.RTC, timestamp, pi);

请记住,警报不是持久性的,因此将来设置警报太不可靠:如果用户重新启动手机(或杀死您的应用程序/服务),警报将被清除。要在重新启动时注册警报,请为BOOT_COMPLETED创建广播接收器。