Мое приложение требует, чтобы я периодически делать следующее:Как справиться с необходимостью межпроцессного взаимодействия в моем приложении Android?
- Отправить периодическую информацию пульса на сервере, один раз в 15 секунд
- Возьмите периодические снимки экрана и отправить их на сервер, один раз в 60 секунд
- Послать сообщение и опрашивать сервер для сообщений, один раз каждые 5 секунд
Я написал свои услуги по каждому из пунктов, перечисленных выше, но здесь, где мне нужна помощь, связь между этими услугами ...
Сердцебиение служба должна быть в состоянии:
- Получить некоторую информацию от службы захвата экрана.
- Очередь сообщения с помощью службы обмена сообщениями.
Экран служба захвата должна быть в состоянии сделать следующее:
- Fetch текущей деятельности из моего приложения
- Queue сообщение с услугой чата. служба
Оповещение должно быть в состоянии сделать следующее:
- Прием сообщений в очереди для отправки на сервер из приложения/услуги
- Отправка сообщений, полученных от сервера к приложение
Со всеми необходимыми коммуникационными путями мне интересно, как это сделать? Могу ли я просто привязать мое приложение ко всем сервисам? Связывать услуги с другими службами? Использовать какую-то другую связь?
Мне нужно, чтобы все эти службы продолжали работать/работать, даже если мое приложение не находится на переднем плане.
Прежде всего, Android не может гарантировать, что * любые * фоновые приложения будут работать; это никогда не предназначалось для демонов. Во-вторых, периодический серверный опрос убьет батарею * и * план данных. В-третьих, это звучит откровенно жуткий - что с тихим захватом экрана? –
Устройства будут монтироваться в общественных местах, подключенных к источнику питания и сети Wi-Fi, поэтому срок службы батареи/потребления не является проблемой. Цель экранов экрана - отслеживать, чтобы приложение работало правильно и помогало в отладке. – Ryan
Тогда Android - очень плохой выбор для ОС. Рассмотрим один из более тонких вкусов Linux или Windows Embedded. –