我有一个大约20个日期的列表,所有日期都像
一样August 24,2011
我将如何创建所有这些日期的列表并将其设置为警报管理器,
所以例如......今天是25,如果AlarmManager中的日期设置为25,则会发出通知。
我将如何做到这一点?
答案 0 :(得分:1)
首先使用格式化程序转换为日期。然后使用getTime()从日期对象中获取时间戳。将时间戳传递给AlarmManager
并指定RTC
或RTC_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
创建广播接收器。