AlarmManager добавляет тревогу несколько раз в секунду на определенных устройствах - PullRequest
1 голос
/ 17 января 2012

У меня проблема с alarmservice - он настроен на отключение каждый час, и он отлично работает на моем galaxy SII - однако, на wildfire и wildfire 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 голосов
/ 17 января 2012

PendingIntent.getService() должен быть передан флаг для его последнего параметра, а не 0.Я бы попробовал исправить это первым.

...