2011-11-09 3 views
0

У меня есть 4 службы A B C и D. Я сделал A запущенным в цикле и, когда начался его инициализация, я установил намерение менеджера тревог в моей службе A для запуска услуг B C и D каждые несколько минут. Так A продолжает работать, и B, C и D просыпаются каждые несколько минут, выполняя свои задания и ложась спать. Теперь я хочу, чтобы A также разбудил Alarm Manager.Жизненный цикл Android-сервисов

Как я могу это сделать?

Заранее спасибо.

ответ

0

Сделать липкое обслуживание с TimerTask работает в нем каждые несколько минут.

@Override 
public int onStartCommand(Intent intent, int flags, int startId) 
{ 

    Timer timer = new Timer(); 
    timer.scheduleAtFixedRate(new TimerTask() { 

     public void run() 
     { 
       // start B, C, D 
     } 

    }, 20000, 60000); // every 60 seconds 


    return START_STICKY; 
} 
+0

Можете ли вы помочь мне понять, как это работает? Могу ли я использовать таймер в другом месте вместо onStartCommand. Это мой текущий код в A. Из onStartcommand он переходит в onHandleIntent, и оттуда я запускаю другие службы. Как я могу использовать его здесь? @Override public int onStartCommand (Intent intent, int flags, int startId) { \t super.onCreate(); \t super.onStartCommand (намерение, флаги, startId); \t возвращение START_STICKY; } – user973743

0

Настройте BroadcastReceiver, чтобы получить аварийные события от ОС. Затем зарегистрируйте будильник в нужной периодичности с помощью AlarmManager. Когда ваш ресивер получает сигнал тревоги от ОС, вы можете устранить намерения для своих четырех Service.

Настройте BroadcastReceiver в методе onCreate() вашей пусковой установки Activity, и вам должно быть хорошо идти!

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

  • Нет связанных вопросов^_^