2011-08-25 27 views
0

我都喜欢格式化如何将日期列表转换为AlarmManager?

August 24,2011 

我将如何去创造这些日期的列表,并将它们设置为闹铃经理,

所以,举例而言,大约20日期列表.. 。今天是25日,如果AlarmManager中的日期设置为25,则会发出通知。

我该如何去做这件事?

回答

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创建广播接收器。

+0

你能提供一个代码示例吗?还有,我怎么能使它在手机重新启动时重置报警? – yoshi24

+0

使用[SimpleDateFormat](http://developer.android.com/reference/java/text/SimpleDateFormat.html)解析日期。至于处理重启,你需要为'BOOT_COMPLETED'注册一个广播接收器并在那里注册你的报警。 –