Что делать, если ОС убила IntentService?

Допустим, у нас есть реализация IntentService , затем мы запускаем ее из Activity а затем добавляем несколько других Intent s в очередь для IntentService для обработки. Итак, теперь у нас есть первый Intent под обработку, а остальная часть Intent s в очереди. Теперь давайте представим, что ОС убивает наш процесс Application по понятной причине. Вопросы:

  1. Как перезапустить IntentService ?

  2. Как восстановить очередь?

Ну, я знаю, что всегда есть Service которой вы можете переопределить ее onStartCommand() и сообщить Service что делать. Но мне нужна IntentService из-за его модели queue .

IntentService – это не то, что вы хотите использовать, если очередь работы должна быть постоянной. Если вы отправляете множество Intent s в IntentService а затем этот процесс убит Android, нет возможности перестроить очередь. IntentService просто IntentService очередь Intent с помощью внутреннего Handler и они нигде не сохраняются. Они просто теряются.

Если бы я был вами, я бы сам реализовал это сам. Код для IntentService не такой большой, и вы можете посмотреть на него и использовать его в качестве модели для своего собственного Service . Вы захотите записать свою очередь в базу данных, чтобы она была постоянной. Верните START_STICKY из onStartCommand() чтобы Android автоматически перезапустил вашу Service если она была убита из-за требований к ресурсам.

Intereting Posts
Начать новую тему в Async Task Как остановить анимацию в android Запустить Android-виджет Файлы cookie не принимаются по мобильным данным, но получены с помощью Wi-Fi во время регистрации в android (устройство – sony xperia) Поиск механизма кэширования памяти «killer» для Android Как получить IP-адрес однорангового устройства в Android для WiFi-Direct (WiFi-P2P)? Поворот изображения перетаскивания зума в образе просмотра Android Как узнать наименьшую ширину (sw) устройства Android? Как определить, имеет ли устройство Android жесткие ключи Помогите новичку изучать лучшие практики Eclipse / Android Виджеты, настроенные с помощью android: configure будут получать onUpdate, даже если конфигурация не завершена Как сделать UI, например, приложение Google Inbox на Android Что такое намерение в Android? Как оживить дочернее представление и иметь родительское представление для автоматического изменения размера? В libgdx на Android, как мне сохранить состояние игры в случае, если приложение убито?