Android: создание службы, которая доживет до приложения, которое его запустило - PullRequest
1 голос
/ 10 ноября 2010

Я разрабатываю приложение для Android, которое состоит из:

  • облегченная фоновая служба, которая регистрирует события в БД
  • более тяжелое приложение с графическим интерфейсом, которое суммирует эти события и отображает графики.

У меня проблемы с созданием сервисной части. Графическое приложение может использовать довольно много ОЗУ, и когда оно переходит в фоновый режим, ОС через некоторое время закрывает его.

Проблема в том, что, когда приложение закрывается, служба также отключается. Это плохо, потому что это мешает мне записывать дальнейшие события. Мне все равно, будет ли приложение завершено, но служба должна продолжать работать.


Я пробовал множество способов поддерживать службу, например, использовать для нее потоки или процесс с другим именем, отличным от основного приложения. Ничего не помогло, и я не нашел никакой помощи на страницах и форумах разработчиков Android.

Спасибо за ваш совет!

Ответы [ 3 ]

2 голосов
/ 16 ноября 2010

Попробуйте вернуть START_STICKY в onStartCommand вашего сервиса (). Кроме того, как вы начинаете свой сервис? Если вы используете bindService () с флагом BIND_AUTO_CREATE, он будет автоматически остановлен в unbindService (). Вы должны явно запустить его с startService () и прекратить вызывать stopSelf (). Чем ОС будет поддерживать ваш процесс в фоновом режиме после закрытия активности. Примечание: действие и служба выполняются в одном процессе, и это невозможно: «приложение закрывается, но служба должна продолжать работать». Но можно сохранить процесс без каких-либо действий, если служба работает в фоновом режиме. Читайте подробную информацию http://developer.android.com/reference/android/app/Service.html. удачи!

1 голос
/ 10 ноября 2010

Вы должны использовать AlarmManager для возрождения вашего сервиса.Вы просто не можете поддерживать свою службу вечно.

0 голосов
/ 10 ноября 2010

Проверка о жизненном цикле: http://developer.android.com/guide/topics/fundamentals.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...