android的报警管理器

时间:2010-12-07 17:38:53

标签: android

您好我有一个关于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分钟执行+第一个间隔正确吗?

1 个答案:

答案 0 :(得分:0)

  

这究竟是什么意思?

似乎相当不言自明。这是闹钟首次响起的时间。随后的警报将在此后的指定时间内发生。

  

更改间隔时是否取消了警报?

没有“改变间隔”这样的事情。您可以设置警报并取消警报。您无法更新警报,除非取消旧警报并添加新警报。

  

也有一个问题,因为我喜欢这个代码每5分钟执行一次,这将每隔5分钟执行+第一个间隔正确吗?

第一个将发生在firstTime。第二个将发生在firstTime加上五分钟。第三个将发生在firstTime加上十分钟。等等。由于现在firstTime,第一个警报应该立即响起。