我有一个从警报管理器对象得到通知的服务的工作示例,时间间隔根据用户的喜好而变化,当时间间隔是5-10-20-30分钟时,可以很好地工作,但当我计划一个小时的警报时,我的服务永远不会收到通知,有没有已知的bug?闹钟不应该通知我的服务吗?
发布于 2011-01-08 03:13:57
检查AlarmManager documentation,有一个INTERVAL_HOUR常量在这种情况下会更好地使用。
发布于 2011-01-08 03:02:08
我唯一的建议是确保将1小时表示为3,600,000毫秒。
我在我的方法中使用以下设置,从当天的00:00开始每隔15分钟设置一次闹钟,而不是在创建闹钟的时候。
// Set (or get) long time
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long START_TIME = calendar.getTimeInMillis();
// Variables
int LONG_INTERVAL = 15; // in minutes
// Set the repeating alarm
aManager.setRepeating(AlarmManager.RTC_WAKEUP, START_TIME, LONG_INTERVAL * 60000, sender);我没有等待整整一个小时来测试,而是设置了HOUR_OF_DAY和MINUTE来显示大约55分钟“之前”,这样它就会在下一个预期的时间间隔运行。当我测试时,一切都是成功的。
https://stackoverflow.com/questions/4248181
复制相似问题