gpt4 book ai didi

android - 如果时间早于 android 中的当前系统时间,则会触发警报

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:41 24 4
gpt4 key购买 nike

我正在使用警报管理器在特定时间分配警报。我遇到了一个问题,如果我设置的时间早于当前系统时间,那么警报 Action 会立即触发。如何防止这种行为?谢谢

我的代码:

    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

Intent serviceIntent = new Intent(context,AlarmService.class);
PendingIntent pendingIntent = PendingIntent.getService(context.getApplicationContext(), 234324243, serviceIntent, 0);

/*sample of setting eariler time
timeAlarm.set(Calendar.YEAR, 2013);
timeAlarm.set(Calendar.MONTH, 10);
timeAlarm.set(Calendar.DAY_OF_MONTH, 13);
timeAlarm.set(Calendar.HOUR_OF_DAY, 12);
timeAlarm.set(Calendar.MINUTE, 9);
timeAlarm.set(Calendar.SECOND, 0);
*/
alarmManager.set(AlarmManager.RTC_WAKEUP, timeAlarm.getTimeInMillis(), pendingIntent);

最佳答案

这是因为android alarm manager就是这样设计的。如果时间比当前系统时间早 1 天或更长时间,您可以修改您的时间。像这样:

Calendar c = Calendar.getInstance();        
c.set(Calendar.HOUR_OF_DAY, hour);
c.set(Calendar.MINUTE, minute);
c.set(Calendar.SECOND, second);

if (c.getTimeInMillis() < System.currentTimeMillis()){
c.add(Calendar.DAY_OF_MONTH, 1);
}

关于android - 如果时间早于 android 中的当前系统时间,则会触发警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19947334/

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