AlarmManager在特定设备上每秒添加几次警报

时间:2012-01-17 07:56:00

标签: android alarmmanager

我遇到了闹钟服务的问题 - 它设置为每小时一次,它在我的星系SII上运行得非常好 - 但是,在野火和野火S上,应用程序占用了整个系统。 查看日志后,似乎每秒都会添加几次警报并进行三次触发。 我真的不明白为什么会发生这种情况,而不仅仅是困扰我,这个问题怎么可能是设备特定的呢?

以下是日志所说的内容:

V/AlarmManager( 103): Adding Alarm{44cf66f8 type 0 weat.heria.app} Jan 12 04:43:35 pm V/AlarmManager( 103): Alarm triggering: Alarm{44cf66f8 type 0 weat.heria.app} V/AlarmManager( 103): Adding Alarm{44cf66f8 type 0 weat.heria.app} Jan 12 04:43:35 pm V/AlarmManager( 103): Alarm triggering: Alarm{44cf66f8 type 0 weat.heria.app} V/AlarmManager( 103): Adding Alarm{44cf66f8 type 0 weat.heria.app} Jan 12 04:43:36 pm V/AlarmManager( 103): Alarm triggering: Alarm{44cf66f8 type 0 weat.heria.app}

请帮我解决这个问题。

编辑:这是设置闹钟的代码

 public void setAlarm(int refreshRate) {
     Intent myIntent = new Intent(WeatheriaActivity.this, AlarmService.class);
     pendingIntent = PendingIntent.getService(WeatheriaActivity.this, 0,
             myIntent, 0);
     AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
     Calendar calendar = Calendar.getInstance();
     calendar.setTimeInMillis(System.currentTimeMillis());
     calendar.add(Calendar.SECOND, 10);
     alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.
             getTimeInMillis(), refreshRate, pendingIntent);
}

1 个答案:

答案 0 :(得分:0)

PendingIntent.getService()应该传递a flag作为最后一个参数,而不是0。我先尝试修复它。