gpt4 book ai didi

java - 如何在特定时间内自动启用/禁用推送通知

转载 作者:行者123 更新时间:2023-12-01 17:38:58 25 4
gpt4 key购买 nike

我刚开始使用 Android 闹钟服务。我想创建一个用药提醒,以用药信息和每天重复通知的次数作为输入数据。但是,我只想在上午 7 点到晚上 7 点之间启用通知。因此,应用程序只会在该时间内通知,并且应用程序将在上午 7 点开始通知。

示例:如果用户希望每天重复应用程序的通知 3 次,则应用程序将每隔 4 小时通知他们服药(12 小时/3 次 = 4 小时)。

我尝试过使用 while 循环,但是它在某种程度上并没有像我预期的那样工作,如果条件为真,那么即使还没有到时间,它也会继续通知(这发生在我的代码中)。

所以,这是我尝试做的:

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 7);
while(calendar.get(Calendar.HOUR_OF_DAY) >= 0) {
while (calendar.get(Calendar.HOUR_OF_DAY) >= 7 && calendar.get(Calendar.HOUR_OF_DAY) <= 19) {
// the process here
}
calendar.add(Calendar.HOUR_OF_DAY, 1);
}

如果我的代码在很多方面都缺乏,我很抱歉。但是,我真的希望你们能帮助我或与我分享任何其他可能的解决方案。谢谢。

最佳答案

您设置的日历时间不正确。

替换

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 7);
while(calendar.get(Calendar.HOUR_OF_DAY) >= 0) {
while (calendar.get(Calendar.HOUR_OF_DAY) >= 7 && calendar.get(Calendar.HOUR_OF_DAY) <= 19) {
// the process here
}
calendar.add(Calendar.HOUR_OF_DAY, 1);
}

Calendar cc = Calendar.getInstance();
int mHour = cc.get(Calendar.HOUR_OF_DAY);

if (mHour >= 7 && mHour <= 19) {
// the process here
}

关于java - 如何在特定时间内自动启用/禁用推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60996076/

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