Я использую pubnub в качестве канала публикации / подписки между приложением для Android и сервером.В настоящее время я думаю о том, как это реализовать.
Я использую предоставленную библиотеку для Android (https://github.com/pubnub/pubnub-api/tree/master/android), но я думаю, что будут некоторые проблемы с жизненным циклом приложения, если я его используюкак сейчас. (поправьте меня, если я ошибаюсь)
Я думал о реализации этого как услуга
Что я хочу
Служба должна продолжать работать в течение часа (по согласованию) после последнего использования приложения, потому что мы хотим получать уведомления при поступлении сообщения, но приложение не является используемым в данный момент приложением.
Как я могу остановить службу после одного часа бездействия приложения? Возможно, Android убьет его, но мне нужен контроль.
Служба должна быть в состояниичтобы заставить приложение изменять свой интерфейс при поступлении определенных сообщений (я думал об отправке намерений из службы, когда мы получаем сообщение pubnub?), pubnub будет отправлять данные в службу, поэтому мне нужен способ передать эти данные вприложение(возможно, сохраните его в Bundle в намерении?)
Мне нужно прослушать несколько каналов pubnub (максимум 2 одновременно), думаю, мне придется это сделатьв нескольких случаях этой службы?
Я думаю, я сделаю это так:
Создать службу, которая запускается при запуске приложения
Позвольте службе прослушивать канал pubnub
Когда приходит сообщение, отправьте намерение и используйте фильтры намерений
Реализация обработчиков трансляции для прослушивания этих внутренних намерений
Это правильный способ сделать это?есть намеки?