Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обмен данными со службой 
:(
    Опции темы
gpepsi
Дата 9.8.2012, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



Что-то никак не пойму как передавать данные службе.
Она запускается при включении телефона. У нее запускается таймер, который 
обрабатывает данные. Передача данных происходит через Context.startService(Intent)

Но при этом происходит запуск службы (а если она не создана, то ее создание).
Причем корректно будет, если при отработке startService будет вызвана stopSelf.
Но в методе onStartCommand сервиса мне необходимо лишь выполнить начальные действия при запуске сервиса.
Если постоянно вызывать Context.startService, то будут постоячнно плодиться вспомогательные объекты.

Поэтому решил попробовать передать данные через broadcast.
Создал BroadcastReceiver. подписал его на событие
Код

        IntentFilter filter = new IntentFilter("some_my_action");
        registerReceiver(m_receiver, filter);


Посылаю его из другого места
Код

                    Intent intent = new Intent("some_my_action");
                    intent.putExtra(key, message);
                    context.sendBroadcast(intent);    


Но событие не приходит
1. Почему ?
2. Что будет, если служба не запущена к этому моменту ?
PM MAIL   Вверх
PiyodaiSiyo
Дата 13.8.2012, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 31.12.2009

Репутация: 1
Всего: 2



 а может в манифесте просто не указано
PM MAIL   Вверх
gpepsi
Дата 15.8.2012, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



Цитата(PiyodaiSiyo @  13.8.2012,  22:32 Найти цитируемый пост)
 а может в манифесте просто не указано 

что не указано ? Фильтр я создаю руками.
Со службой вроде разобрался - нужно вызывать Context.startService

Но таже проблема возникла с Activity.
Не приходит sendBroadcast для нее.

Идея така. Есть Activity. Оно запущено. Оно регистрирует receiver на определенное событие.
Есть BroadcastReceiver. Его параметры задаются в манифесте.
Когда BroadcastReceiver получает данные, он должен передать их Activity. Посылаю их как sendBroadcast.

Но оно не приходит :( Как тогда передвать данные ?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0980 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.