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

如果时间比android中的当前系统时间早,则触发警报,第1张

概述我正在使用警报管理器在特定时间分配警报.我遇到了一个问题,即如果我将时间设置为早于当前系统时间,则会立即触发警报 *** 作.如何防止这种行为?谢谢 我的代码: AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Intent serviceIntent = new 我正在使用警报管理器在特定时间分配警报.我遇到了一个问题,即如果我将时间设置为早于当前系统时间,则会立即触发警报 *** 作.如何防止这种行为?谢谢

我的代码:

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 timetimeAlarm.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报警管理器是由此设计的.
如果时间早于当前系统时间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中的当前系统时间早,则触发警报所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1122142.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存