07.01.2014, 00:29. Просмотров 1890. Ответов 13
Здравствуйте.
Возникла задача написать программу в которой основную работу производит сервис. Также требуется Activity для настройки параметров сервиса.
Создал проект с Activity, тут же создал сервис (во всех методах заглушки). Работает.
Собственно не понятно куда писать код самого сервиса. Функция onStartCommand() сказано должна возвращать тип инт (для меня это START_STICKY, что бы ОС запускало сервис в случае сбоев или нехватки памяти). Код START_STICKY будет возвращен системе после отработки функции onStartCommand().
(1) То есть в этой функции нельзя писать длительно исполняющийся код?
(2) Тогда как поступить? У меня только одна идея, в onStartCommand() запустить второй поток и уже писать всё в нем (назовём его исполняющим). Правильно? Тогда как не создавать другие потоки (мне нужен один) при повторных запусках onStartCommand()?
(3) Если в исполняющем потоке надо работать с интернет, все вызовы опять надо заворачивать в AsyncTask?
(4) как тогда из Activity передать данные (настройки работы) в исполняющий поток? В сервис через Bind, а из сервиса в исполняющий поток через handle?
Мои размышления верные? Так и делают или есть более правильные подходы?
0
|