|
435 / 159 / 28
Регистрация: 12.12.2020
Сообщений: 1,275
|
|
Принятие броадкаста даже при свернутом приложении27.12.2025, 02:12. Показов 247. Ответов 0
Метки нет (Все метки)
Нужно мне максимально гарантировано просыпаться от пришедшего push сообщения.
На данный момент реализованно примерно так: Есть сервис MyFirebaseMessagingService который принимает пуши. Я так понимаю принимает он их "всегда", независимо от состояния приложения. После принятия пуша он отправляет броадкаст в приложение, которое его ловит. Ловит оно его в приемнике бродкастов myBroadcastReceiver, который описан MainActivity и в onCreate() / onDestroy() приложение на этот бродкаст подписывается/отписывается. Ну и этот приемник по приему сообщения творит всякие вещи: подключается к серверу, пишет в базу данных, рассылает локальные броадкасты для обновления интерфейсов, показывает уведомления и прочие непотребства. В принципе все работает, но если приложение сворачивается, то тут уже дела обстоят хуже. И пуши "доходят" с задержками, иногда вообще не доходят.... я так понимаю что, как мининимум, при уничтожении активити происходит отписка от бродкастов и больше мы ничего не получаем (ну впринципе логично). Решил приемник броадкастов регистрировать не динамически а статически, в манифесте. Вынес его в отдельный класс, зарегистрировал в манифесте. Теперь MyFirebaseMessagingService шлет броадкаст и myBroadcastReceiver его получает.... но это же теперь отдельный класс, никакие методы MAinActivity то не запустишь. Как с минимум телодвижений изменить программу что бы она просыпалась/запускалась и делала все то что и раньше делала? Если я в myBroadcastReceiver сделаю startActivity(MainActivity) а она сейчас уже запущено, что будет? Добавлено через 10 минут Или может прям из FirebaseMessagingService.onMessageReceiv ed() можно как то разбудить приложение? Что бы не городить эту чахорду с бродкастами ради бродкастов? Добавлено через 1 час 57 минут Я так понимаю самое просто это в в пуш, вместе с полем data добавить блок notification. Тогда, если приложение открыто, MyFirebaseMessagingService вызывает бродкаст, он уходит в активити, она делает что надо. Ну то есть как и сейчас. А вот когда приложение свернуто или закрыто, то покажется блок notification, и при нажатии на него будет запущено приложение и блок data уйдет в него при запуске. Так?
0
|
|
| 27.12.2025, 02:12 | |
|
Ответы с готовыми решениями:
0
Как сделать принятие классом протокола только при определенных условиях? Принятие данных из Activity в Fragment Программа в свернутом режиме |
| 27.12.2025, 02:12 | |
|
Помогаю со студенческими работами здесь
1
Сообщение "приложение остановлено" постоянно, даже когда приложение вообще не запущено Время в секундах, пока приложение было свернуто(закрыто) Как узнать что приложение свернуто? Как свернуть клавиатуру у приложения Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|