Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java ME (J2ME) > Обмен данными со службой |
Автор: gpepsi 9.8.2012, 21:46 | ||||
Что-то никак не пойму как передавать данные службе. Она запускается при включении телефона. У нее запускается таймер, который обрабатывает данные. Передача данных происходит через Context.startService(Intent) Но при этом происходит запуск службы (а если она не создана, то ее создание). Причем корректно будет, если при отработке startService будет вызвана stopSelf. Но в методе onStartCommand сервиса мне необходимо лишь выполнить начальные действия при запуске сервиса. Если постоянно вызывать Context.startService, то будут постоячнно плодиться вспомогательные объекты. Поэтому решил попробовать передать данные через broadcast. Создал BroadcastReceiver. подписал его на событие
Посылаю его из другого места
Но событие не приходит 1. Почему ? 2. Что будет, если служба не запущена к этому моменту ? |
Автор: PiyodaiSiyo 13.8.2012, 22:32 |
а может в манифесте просто не указано |
Автор: gpepsi 15.8.2012, 13:03 |
что не указано ? Фильтр я создаю руками. Со службой вроде разобрался - нужно вызывать Context.startService Но таже проблема возникла с Activity. Не приходит sendBroadcast для нее. Идея така. Есть Activity. Оно запущено. Оно регистрирует receiver на определенное событие. Есть BroadcastReceiver. Его параметры задаются в манифесте. Когда BroadcastReceiver получает данные, он должен передать их Activity. Посылаю их как sendBroadcast. Но оно не приходит :( Как тогда передвать данные ? |