Урок 96. Service. Обратная связь с помощью BroadcastReceiver
Урок 96. Service. Обратная связь с помощью BroadcastReceiver
В этом уроке:
- получаем из сервиса результат с помощью BroadcastReceiver
Click here to read this article!
- получаем из сервиса результат с помощью BroadcastReceiver
Click here to read this article!
Последний раз редактировалось damager82 25 фев 2019, 17:00, всего редактировалось 7 раз.
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
Интересно, а к каким последствиям может привести решение не отключать BroadcastReceiver, например, при завершении работы приложения?
-
- Сообщения: 8
- Зарегистрирован: 21 июн 2012, 16:25
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
А каким способом можно остановить одну из задач, чтобы при этом остальные продолжали работать?
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
Здраствуйте...
Почитал, вот Я про сервисы... всё хорошо, весьма понятно...
Есть одно упущение... нет описания "полюсоминосов" того или иного подхода...
то есть например чем отличается 95-й и 96-й уроки, ну кроме "метода разная".
А сам как только не извращался... мне надо было в сервисе управлять активностью(если есть), а в активности сервисом...
Вот даже о передаче в сервис ссылки на активность, а в активность ссылки на сервис додумался. Просто печёнкой чую, что такая метода почему-то не верна, а почему х.з.
так что просьба к автору описывать "чем грозит та или иная метода"
т.е. например, думаю, что броадкаст ресивер хорош
- универсальностью
- простатой реализации
плох(как мне кажется):
- быстродействие.
выше написанное - это Я так предполагаю, а как на самом деле - не знаю.
ну и возможно примеры(ну просто на словах, не обязательны сотни строк кода) где та или иная метода наиболее выгодно используется.
Почитал, вот Я про сервисы... всё хорошо, весьма понятно...
Есть одно упущение... нет описания "полюсоминосов" того или иного подхода...
то есть например чем отличается 95-й и 96-й уроки, ну кроме "метода разная".
А сам как только не извращался... мне надо было в сервисе управлять активностью(если есть), а в активности сервисом...
Вот даже о передаче в сервис ссылки на активность, а в активность ссылки на сервис додумался. Просто печёнкой чую, что такая метода почему-то не верна, а почему х.з.
так что просьба к автору описывать "чем грозит та или иная метода"
т.е. например, думаю, что броадкаст ресивер хорош
- универсальностью
- простатой реализации
плох(как мне кажется):
- быстродействие.
выше написанное - это Я так предполагаю, а как на самом деле - не знаю.
ну и возможно примеры(ну просто на словах, не обязательны сотни строк кода) где та или иная метода наиболее выгодно используется.
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
Тоже интересует информация на эту тему.Gabber_WB писал(а):Здраствуйте...
Почитал, вот Я про сервисы... всё хорошо, весьма понятно...
Есть одно упущение... нет описания "полюсоминосов" того или иного подхода...
то есть например чем отличается 95-й и 96-й уроки, ну кроме "метода разная".
...
ну и возможно примеры(ну просто на словах, не обязательны сотни строк кода) где та или иная метода наиболее выгодно используется.
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
Есть одно упущение... нет описания "полюсоминосов" того или иного подхода...
то есть например чем отличается 95-й и 96-й уроки, ну кроме "метода разная
Насколько я понимаю, ключевое отличие а между PendingIntent и BroadcastReceiver (уроки 95 и 96 соответственно) в том, что для PendingIntent ответ должен приходить строго в то активити, из которого вызывается вызывается сервис. А в случае с BroadcastReceiver стартовать сервис мы можем из одного активити, а результаты ловить как в нем, так и в любом активити, настроенном на получение этого BroadcastReceiver.
Я прав?
Последний раз редактировалось Fry 16 янв 2015, 13:48, всего редактировалось 1 раз.
Arbeit macht Fry
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
Все верно. PendingIntent полученный при помощи createPendingResult будет присылать ответы только в ту Activity в которой он был создан.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
Подскажите как передать
intent = new Intent(this, MyserviceBroad.class).putExtra(PARAM_TIME, 7)
.putExtra(PARAM_TASK, TASK1_CODE).putExtra(PARAM_STR, "12345qwert");
строковую переменную и получить также в строковом формате
Я для передачи вроде прописал а в Broad не могу присвоить переменной
Заранее благодарен
intent = new Intent(this, MyserviceBroad.class).putExtra(PARAM_TIME, 7)
.putExtra(PARAM_TASK, TASK1_CODE).putExtra(PARAM_STR, "12345qwert");
строковую переменную и получить также в строковом формате
Я для передачи вроде прописал а в Broad не могу присвоить переменной
Заранее благодарен
-
- Сообщения: 36
- Зарегистрирован: 28 июн 2015, 03:13
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
А так что, не получается?Эркин писал(а):Подскажите как передать
intent = new Intent(this, MyserviceBroad.class).putExtra(PARAM_TIME, 7)
.putExtra(PARAM_TASK, TASK1_CODE).putExtra(PARAM_STR, "12345qwert");
строковую переменную и получить также в строковом формате
Я для передачи вроде прописал а в Broad не могу присвоить переменной
Заранее благодарен
public Intent putExtra (String name, String value)
public String getStringExtra (String name)
http://developer.android.com/intl/ru/re ... l#putExtra(java.lang.String, java.lang.String)
http://developer.android.com/intl/ru/re ... ng.String)
Re: Урок 96. Service. Обратная связь с помощью BroadcastRece
насколько я понимаю основное назначение PendingIntent - это возможность выполнение интента сторонними приложениями "от имени" вашего приложения. То есть, будут использоваться все разрешения и даже тот же юзер в системе. Такой интент может быть выполнен даже когда ваше приложение уже давно закрыто.Fry писал(а):Есть одно упущение... нет описания "полюсоминосов" того или иного подхода...
то есть например чем отличается 95-й и 96-й уроки, ну кроме "метода разная
Насколько я понимаю, ключевое отличие а между PendingIntent и BroadcastReceiver (уроки 95 и 96 соответственно) в том, что для PendingIntent ответ должен приходить строго в то активити, из которого вызывается вызывается сервис. А в случае с BroadcastReceiver стартовать сервис мы можем из одного активити, а результаты ловить как в нем, так и в любом активити, настроенном на получение этого BroadcastReceiver.
Я прав?
Из этого следуют три основных случая использования:
интент выполняется NotificationManager'ом, то есть когда юзер что-то делает с нотификейшеном которое пришло.
интент выполняется App Widget'ом - из Home экрана выполняется интент при взаимодействии с виджетом экрана
интент выполнятся AlarmManager'ом в определенный момент времени.
то есть, использовать PendingIntent для передачи данных из активити в сервис и обратно это неприродно как-то
две ссылки по теме:
http://developer.android.com/intl/ru/gu ... dingIntent
http://codetheory.in/android-pending-intents/