2014-01-31 2 views
1

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

+0

Используйте диспетчер сигнализации [как запланировать выполнение кода в Android или: что именно демон потоки в Android?] [1] [1]: HTTP : //stackoverflow.com/questions/3883246/how-to-schedule-some-code-execution-in-android-or-what-exactly-are-daemon-threa – ryderz8

+0

На самом деле я хочу, чтобы он работал после определенного вызова из активности (Только если он был остановлен) и оставаться активным до тех пор, пока он не завершит работу, даже если операция длительная. –

ответ

0

Просто позвоните StartService() от деятельности:

http://developer.android.com/reference/android/content/Context.html#startService(android.content.Intent)

+0

Но тогда это не будет фоновая служба? будет ли это? –

+0

Служба не может быть на переднем плане, они всегда работают в фоновом режиме. Не имеет значения, что вы начинаете его с активности. – npace

+0

На самом деле это не совсем так, но это особый случай: http://developer.android.com/guide/components/services.html#Foreground – Philio

-1

Убедитесь, что вы расширяете службы, не IntentService. А затем запустите сервис в режиме STICKY. Он должен оставаться активным таким образом. Даже если он по какой-то причине умирает (система может убить его и т. Д.), Он должен перезапустить сам по себе.

Читать эту ссылку: START_STICKY and START_NOT_STICKY

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