gpt4 book ai didi

java - 设置多个闹钟

转载 作者:行者123 更新时间:2023-12-01 12:19:19 24 4
gpt4 key购买 nike

到目前为止,我有这个方法可以设置重复闹钟。该闹钟在上午 11 点 15 分每隔 15 分钟设置一次闹钟。我想知道是否想在该闹钟旁边设置另一个凌晨 12:00 的重复闹钟,我需要做任何不同的事情吗?

另外,当闹钟响起时是否可以显示多种 View ?如果我希望在上午 11:15 弹出一个 View ,并在中午 12:36 弹出另一个 View ,我可以设置吗?如果是这样,怎么办?

private void setCollectionAlarms() {

AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

interval = 900000;

try {
//If the date is set to HHmm, then add current date time
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
String time = "11:15";

long timeOfFirstCollectionInMillis = format.parse(time).getTime();
System.out.println("Time in Milis: " + timeOfFirstCollectionInMillis);

Calendar now = Calendar.getInstance();
now.setTime(new Date());

Calendar cal = Calendar.getInstance();
Date timedate = format.parse(time);
cal.setTime(timedate); // thinks 1970
cal.set(Calendar.YEAR, now.get(Calendar.YEAR));
cal.set(Calendar.MONTH, now.get(Calendar.MONTH));
cal.set(Calendar.DAY_OF_MONTH, now.get(Calendar.DAY_OF_MONTH));

//If the time from the db is before now (That is no date set but time set), then set it for tomorrow
if (cal.before(now)) {
// increase
Date tomorrow = cal.getTime();
cal.setTime(tomorrow);
cal.add(Calendar.DATE, 1);
tomorrow = cal.getTime();
System.out.println("TimeDate for Tomorrow: " + tomorrow);

//convert date to milis
long timeInMilis = (tomorrow.getTime());

//Set Alarm to Repeat
manager.setRepeating(AlarmManager.RTC_WAKEUP, timeInMilis, interval, pendingIntent);


//else, set the alarm for today
} else {
timedate = cal.getTime();
System.out.println("TimeDate: " + timedate);

//convert date to milis
long timeInMilis = (timedate.getTime());

//Set Alarm to Repeat
manager.setRepeating(AlarmManager.RTC_WAKEUP, timeInMilis, interval, pendingIntent);


}
} catch (ParseException e) {
e.printStackTrace();
}

}

最佳答案

我刚刚写完一篇关于这个主题的博客文章。您需要处理触发警报时要做的所有逻辑以及扩展 BroadcastReceiver 的类中的代码运行。

Android bytes: Alarms

希望这足够清楚,但如果您还有其他问题,我可以更新答案。

关于java - 设置多个闹钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26805682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com