Необходим совет по Service

97
22 ноября 2021, 11:10

У меня в приложении есть Service, который осуществляет запись звука. (Foreground)

Я хочу чтобы при закрытии приложения (удалении из оперативной памяти, а не сворачивании) и при открытии занова приложения, там было бы актуальное состояние View (play, stop, pause).

Взаимодействие с Service осуществляю с помощью Intent + BroadcastReceiver.

Как это можно реализовать? Ну play можно узнать по отправке постоянных сообщений сервисов о изменение recordingTime.

А вот как с другими? Сейчас такое взаимодействие:

  • Кнопка отправляет Intent о действию service. Service отправляет сообщение о начале этого действия.
  • Это сообщение я ловлю в BroadcastReceiver и выполняю функцию у ViewModel о смене статуса.
  • ViewModel наблюдает за этим статусом, и если он изменился то обновляет UI.

Проблема только в том, что сообщение о pause, stop, resume сервис отправляет один раз. И если приложение в это время закрыто (собственно и BroadcastReceiver не инициализирован), то приложение не получит это сообщение

Answer 1

Вам надо использовать explicit broadcast receiver, он будет отлавливать сообщения когда приложение не запущено. Для этого его необходимо зарегистрировать в манифесте. Подробнее здесь:

READ ALSO
Как создать новый контакт со старым RAW_CONTACT_ID?

Как создать новый контакт со старым RAW_CONTACT_ID?

Имеется контакт на устройстве, после его удаления и восстановления, ему присваивается новый RAW_CONTACT_IDКаким образом можно присвоить ему старый?

160
Перевод кода с Kotlin на Java

Перевод кода с Kotlin на Java

Имею код на Kotlin (Android Studio 35):

162
Не вижу html файлов

Не вижу html файлов

Недавно упала задача, кое-что поменять на сайтеНо я не могу найти html файлов

179
Изменение значения поля в строке таблицы через JS

Изменение значения поля в строке таблицы через JS

Прошу помочь советом, как написать очень небольшой скрипт на JS, который бы изменял значение поля "Дата создания детали" на целевое время (не реальное,...

251