2010-08-30 5 views
2

Похоже, что служба на Android - это не самый популярный метод реализации постоянного процесса для выполнения фоновой активности в Android. Предполагается использовать что-то вроде диспетчера аварийных сообщений - однако я не уверен, применим ли он к моей ситуации. Совет приветствовал.Альтернативы использованию службы для ведомости BroadcastReceiver

Что я пытаюсь реализовать, это какой-то фоновый процесс, который получает выбранные трансляции. Этот процесс выполняет некоторую обработку в широковещательной передаче и, например, записывает результаты в файл. Я могу разобраться, как это сделать с сервисом в порядке, но в более ранних версиях Android служба, похоже, была убита относительно легко.

Существуют ли альтернативы службе в этом виде применения?

Благодаря

ответ

0

Я думаю, что я только что нашел ответ ... и в основном широковещательный приемник является механизмом для его достижения ... Радиопередачи должна быть в состоянии найти соответствующий приемник и запустить его для ограниченный период времени ...

Нужно проверить, могу ли я получать обновления местоположение ячейки в качестве приемника широковещательной передачи, хотя ...

благодаря

0

Вы можете сделать это в вашем onReceive() метод класса, который расширяет BroadcastReceiver.

+0

Пока работа довольно короткая. В противном случае, 'onReceive()' call 'startService()' на 'IntentService', который выполняет настоящую работу. «IntentService» отключится, когда больше не будет сделано. – CommonsWare

+0

Потребность в IntentService мне не понятна ... кажется, что IntentService создает отдельный поток для обработки обработки - что на самом деле может и не понадобиться. – rwm

+0

Необходимость использования IntentService мне не понятна. IntentService создает новый поток для запуска вашего приложения, но фактически не использует поток Services, за исключением запуска вашего потока. Как насчет альтернативы onReceive(), вызывающей startService на обычном сервисе. Затем в методе onStart() вы отправляете сообщение обработчику в своей службе. Это позволяет вашему onReceive() немедленно возвращаться, а затем разрешает вашей службе поток подбирать действие и выполнять любую деятельность, которую вы планируете делать? – rwm