警报管理器:如何在特定时间调用警报管理器?

时间:2012-05-08 10:15:16

标签: android alarmmanager

我想知道如何在特定时间设置闹钟。例如,我想设置闹钟 每天早上9点。我google了很多,但只发现了只为给定间隔设置闹钟的方法。比如2小时或第二天。

2 个答案:

答案 0 :(得分:1)

希望此代码可以帮助您

Calendar calendar = Calendar.getInstance();

//9 AM 
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getService(context, 0, new Intent(context, YourClass.class), PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);

你应该创建BroadcastReceiver来接收意图。

阅读documentation了解更多详情

答案 1 :(得分:0)

  

我搜索了很多,但只找到了为给定间隔设置闹钟的方法。比如2小时或第二天。

setRepeating()AlarmManager的第二个参数是您希望闹钟首先关闭的时间。使用Calendar对象将其设置为明天上午9点,并使用RTCRTC_WAKEUP警报。