2015-11-03 2 views
-3

У меня есть диспетчер аварийных сигналов, вызывающий конкретную услугу через каждые 1 минуту, которые выполняют некоторые вычисления и отправляют широковещательную передачу в широковещательный приемник. Я сделал это с помощью диспетчера аварийных сигналов setRepeating().Alarm Manager не вызывает службу после перезагрузки

Здесь мой код: менеджер

Сигнализация:

Intent serviceIntent = new Intent(this, PrayerNotifyService.class); 
    PendingIntent pintent = PendingIntent.getService(this, 0, serviceIntent, 0); 

    AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 

    alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 60000, pintent); 

Он работает нормально, но после перезагрузки мобильного телефона, менеджер сигнализации не вызывая службу.

Я искал в Интернете и нашел несколько решений, как показано ниже, но они не сработали для меня.

я также дать Boot комплектных разрешения

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 

Мой приемник в манифесте:

<receiver 
     android:name=".NotificationReceiver" 
     android:enabled="true" 
     android:exported="true" > 

      <action android:name="android.intent.action.BOOT_COMPLETED" /> 

    </receiver> 

Может ли один скажите мне, как решить эту проблему?

+0

Индивидуальные аварийные сигналы уничтожаются, когда устройство отключается, вам необходимо повторно зарегистрировать будильник, когда устройство загружается. Проверьте этот вопрос http://stackoverflow.com/q/12034357/5505915 – Arjun

+0

Каким образом вы говорите мне правильный способ выполнения работы в фоновом режиме после каждой минуты? Я не хотел использовать липкое обслуживание, которое работает все время –

+1

@asadhaider IMHO, вы не должны использовать Alarms на такой низкой частоте. Лучше использовать таймер в таком сценарии. Какова цель установки сигнализации каждую минуту? – iZBasit

ответ

0

Ваш broadCast должен начать обслуживание, а не alarmManager.

1) Загрузочное устройство 2) стартовый сервис от bootReceiver 3) в сервисе start alarmManager.

Надеюсь, это поможет.

+0

Является ли это методом записи, который я могу инициировать трансляцию через каждую минуту и ​​выполнять свою работу в методе onreceive вместо службы? –

Смежные вопросы