强制android警报触发超出计划

时间:2013-09-09 16:06:34

标签: android notifications android-service google-cloud-messaging

我的警报设置为AlarmManager。我还有GCM(Google云消息传递)广播接收器。警报梯级以调用服务以从服务器获取新消息。 GCM用于获取新即时消息的通知,并显示通知或下载新的非即时消息。

AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent("NAME");
PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0 );
int type = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long interval = AlarmManager.INTERVAL_HOUR;
long triggerTime = SystemClock.elapsedRealtime() + interval;
am.setInexactRepeating(type, triggerTime, interval, pi);

警报触发提取所有邮件的服务。 GCM仅收到即时消息或非即时消息的通知。

如果GCM通过非即时消息通知到达,我需要调用该服务来下载消息。问题是:我可能会GCM,从GCM调用服务,下载邮件,停止服务。下一分钟警报触发并再次启动服务。由于服务处理和存储消息,因此会给设备带来负担。我不希望服务比每小时一次更频繁地启动。

所以我需要触发现有的闹钟并重置时钟,以便至少在1小时后触发下一个闹钟。是否可以不从GCM服务中删除警报然后重新创建它?

0 个答案:

没有答案