每天在特定时间设置重复闹钟 [英] Set Repeated alarm at specific time every day

查看:38
本文介绍了每天在特定时间设置重复闹钟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用闹钟管理器在每天的特定时间运行闹钟.我正在使用此代码

I try to use alarm manager to run alarm at specific time every day. I am using this code

Intent intent = new Intent(AlarmSettings.this, AlarmService.class);
                        intent.putExtra("i", i);
PendingIntent mAlarmSender = PendingIntent.getService(AlarmSettings.this, Id, intent, 0);

AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);

am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),Calendar.getInstance().getTimeInMillis()+(24*60*60*1000), mAlarmSender);}

问题出在如果 cal.getTimeInMillis() 值在过去,警报会立即运行,我不知道为什么,当 cal.getTimeInMillis() 值在未来时,它会在当时正确运行.

the problem was in if cal.getTimeInMillis() value is in the past the alarm run immediately, i do not know why, and when cal.getTimeInMillis() value is in the future it runs correctly at its time.

我需要让它每天在特定时间运行.

I need to make it run at specific time every day.

推荐答案

这看起来像是你对

setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)

尝试设置适当的 triggerAtTime(将来) - 就像

Try to set proper triggerAtTime (in the future) - like

Calendar.getInstance().getTimeInMillis()+(24*60*60*1000)

第三个参数(间隔)显然应该是你的间隔,比如

The third param (interval) should obviously be your interval, like

24*60*60*1000

这篇关于每天在特定时间设置重复闹钟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆