您好我有一个关于android的警报管理器的问题,我想安排一个警报,该警报将使用初始间隔执行并且能够由用户更改。我的代码是:
long firstTime = SystemClock.elapsedRealtime();
mAlarmSender = PendingIntent.getService(mContext, 0, new Intent(mContext,AlarmService_Service.class), 0);
this.setInterval(Integer.parseInt(Interval));
configShared.edit().putInt("interval", this.getInterval()).commit();
// Schedule the alarm!
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,this.getInterval(), mAlarmSender);
this.getInterval()是一种保持间隔的方法,用于检查用户是否更改了间隔。
阅读我在alarmManagers setRepeating方法参数下找到的文档:
triggerAtTime使用适当的时钟(取决于报警类型),报警应首先关闭的时间
这是什么意思?更改间隔时是否取消警报?还有一个问题,因为我喜欢这个代码每5分钟执行一次,这将每隔5分钟执行+第一个间隔正确吗?答案 0 :(得分:0)
这究竟是什么意思?
似乎相当不言自明。这是闹钟首次响起的时间。随后的警报将在此后的指定时间内发生。
更改间隔时是否取消了警报?
没有“改变间隔”这样的事情。您可以设置警报并取消警报。您无法更新警报,除非取消旧警报并添加新警报。
也有一个问题,因为我喜欢这个代码每5分钟执行一次,这将每隔5分钟执行+第一个间隔正确吗?
第一个将发生在firstTime
。第二个将发生在firstTime
加上五分钟。第三个将发生在firstTime
加上十分钟。等等。由于现在firstTime
,第一个警报应该立即响起。