Является ли фоновое обслуживание ограничено 10 минутами или может работать в течение нескольких часов? И каким образом пользователь может отключить фоновый сервис во время его работы?
В зависимости от кода вы можете запустить фоновый сервис навсегда или закрыть его, как только приложение будет завершено. Кроме того, сама ОС может закрыть фоновый сервис, если в течение нескольких минут его действие не выполняется.
Существует две причины, по которым система может управлять сервисом. Если кто-то вызывает Context.startService(), тогда система будет получать сервис (создавая его и вызывая его метод onCreate(), если это необходимо), а затем вызывает его метод onStartCommand (Intent, int, int) с аргументами, предоставленными клиентом. Служба в этот момент продолжит работу до вызова Context.stopService() или stopSelf(). Обратите внимание, что несколько вызовов Context.startService() не вложены (хотя они приводят к нескольким соответствующим вызовам onStartCommand()), поэтому независимо от того, сколько раз он запускается, служба будет остановлена после Context.stopService() или stopSelf() называется; однако службы могут использовать метод stopSelf (int), чтобы гарантировать, что служба не будет остановлена до тех пор, пока не будут обработаны начатые намерения.
посмотреть ссылку
http://developer.android.com/guide/components/services.html#Lifecycle