Если вы запускаете службу с Context.bindService()
, ее жизненный цикл (в том числе, когда он будет остановлен) привязан к конкретному контексту вызова (вероятно, это ваша активность).Когда ваша активность прекратится, то же самое произойдет и с вашим сервисом.Это то, что вы испытываете, когда выключаете экран.
Используйте Context.startService()
, если вы хотите, чтобы его жизненный цикл не зависел от действия - это гарантирует, что он останется живым, даже если вы выключитеэкран.Вы можете вызвать Context.stopService (), когда хотите остановить службу.
http://developer.android.com/reference/android/content/Context.html#startService(android.content.Intent)