2010-06-10 1 views
0

У меня есть приложение, имеющее клиентскую активность и долговременную службу. Услуга может быть запущена диспетчером аварийных сигналов или самой деятельностью.Сервис, выходящий после того, как последний клиент отсоединяет, даже если startService() вызван заранее?

Усилие тревоги вызывает startService(). Действие вызывает startService, а затем привязывается к сервису, чтобы он мог получать информацию от него.

Когда я выхожу за пределы действия, onDestroy() вызывается в Activity, действие отвязывает из Сервиса, а onDestroy() вызывается в Сервисе.

У меня создалось впечатление, что если я позвоню startService(), Служба будет оставаться до тех пор, пока не будет вызван stopService()/stopSelf(), независимо от того, какие клиенты от него не связаны.

Я что-то не понимаю?

ответ

1

Отчасти это зависит от версии SDK, которую вы используете. В этой ссылке Service Lifecycle он говорит, что onStartCommand() должен вернуть START_STICKY для вашего поведения. До уровня API уровня 5 не было onStartCommand, и все службы были липкими.

+0

Я настраиваю API уровня 4 для этого приложения, так что это не должно быть проблемой, не так ли? Хорошо знать, если я когда-нибудь продвигаюсь вверх. Благодарю. – Sean

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