安卓 |重复闹钟
我有一个闹钟应用程序。我使用 AlarmManager 类做到了。但我只设置了一个闹钟,并且我需要一个每天和一周中的几天重复的闹钟。
我想要: 1. 一个每日闹钟 2. 一个在一周中特定日期工作的闹钟。
这是我来自单个闹钟的代码(该代码工作良好):
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MINUTE, timePicker.getMinute());
calendar.set(Calendar.HOUR_OF_DAY, timePicker.getHour());
long startUpTime = calendar.getTimeInMillis();
if (System.currentTimeInMillis() > startUpTime) {
startUpTime = startUpTime + AlarmManager.INTERVAL_DAY;
AlarmManager.AlarmClockInfo alarmClockInfo =
new AlarmManager.AlarmClockInfo(startUpTime, getClockInfo());
alarmManager.setAlarmClock(alarmClockInfo, pendingIntent);
} else {
AlarmManager.AlarmClockInfo alarmClockInfo =
new AlarmManager.AlarmClockInfo(alarm.timeInMillis, getClockInfo());
alarmManager.setAlarmClock(alarmClockInfo, pendingIntent);
}
我来自每日闹钟的代码(该代码不能完全工作,当我将闹钟设置为 6:40 时,它会在 7:00 工作):
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MINUTE, timePicker.getMinute());
calendar.set(Calendar.HOUR_OF_DAY, timePicker.getHour());
long startUpTime = calendar.getTimeInMillis();
if (System.currentTimeInMillis() > startUpTime) {
startUpTime = startUpTime + AlarmManager.INTERVAL_DAY;
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
startUpTime,
AlarmManager.INTERVAL_DAY,
pendingIntent);
} else {
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
startUpTime,
AlarmManager.INTERVAL_DAY,
pendingIntent);
}
I have an alarm clock app. I made it using the AlarmManager class. But I made only a single alarm, and I need an alarm that will be repeated every day and on the days of the week.
I want : 1. An every day alarm clock
2. An alarm clock that works on selected days of week.
It is my code from a single alarm (The code works good):
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MINUTE, timePicker.getMinute());
calendar.set(Calendar.HOUR_OF_DAY, timePicker.getHour());
long startUpTime = calendar.getTimeInMillis();
if (System.currentTimeInMillis() > startUpTime) {
startUpTime = startUpTime + AlarmManager.INTERVAL_DAY;
AlarmManager.AlarmClockInfo alarmClockInfo =
new AlarmManager.AlarmClockInfo(startUpTime, getClockInfo());
alarmManager.setAlarmClock(alarmClockInfo, pendingIntent);
} else {
AlarmManager.AlarmClockInfo alarmClockInfo =
new AlarmManager.AlarmClockInfo(alarm.timeInMillis, getClockInfo());
alarmManager.setAlarmClock(alarmClockInfo, pendingIntent);
}
My code from every day alarm (The code does not work exactly, when I set alarm at 6:40 it works at 7:00):
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MINUTE, timePicker.getMinute());
calendar.set(Calendar.HOUR_OF_DAY, timePicker.getHour());
long startUpTime = calendar.getTimeInMillis();
if (System.currentTimeInMillis() > startUpTime) {
startUpTime = startUpTime + AlarmManager.INTERVAL_DAY;
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
startUpTime,
AlarmManager.INTERVAL_DAY,
pendingIntent);
} else {
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
startUpTime,
AlarmManager.INTERVAL_DAY,
pendingIntent);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看看这里可能会对您有所帮助,它在我的应用程序中完美运行。我已经用 kotlin 完成了你的工作,t=有一些语法差异,但逻辑是相同的。
如需更多帮助,请访问此链接 https://github.com/Niajnm/Android-RandomUser-Alarm-Trigger/blob/master/app/src/main/java/com/example/randomuser/AlarmClock/AlarmCreateActivity.kt
我做了一个应用程序多功能医学闹钟。它可能会帮助你
have a look here may can help you it works perfect in my app . I have done with kotlin you there t=are some syntax difference but logics are same.
for more help go to this link https://github.com/Niajnm/Android-RandomUser-Alarm-Trigger/blob/master/app/src/main/java/com/example/randomuser/AlarmClock/AlarmCreateActivity.kt
I made a app multi functional medicine alarm clock. it may help you