Как справиться с необходимостью межпроцессного взаимодействия в моем приложении Android?

Мое приложение требует, чтобы я периодически делал следующее:

  1. Отправлять периодическую информацию о пульсе на сервер, один раз в 15 секунд
  2. Периодически снимайте снимки экрана и отправляйте их на сервер, раз в 60 секунд
  3. Отправить сообщение и опросить сервер для сообщений, раз в 5 секунд

Я написал услуги для каждого из перечисленных выше элементов, но здесь мне нужна помощь, общение между этими службами …

Службе сердцебиения необходимо уметь:

  1. Получите информацию из службы захвата экрана.
  2. Оставьте сообщение с помощью службы обмена сообщениями.

Служба захвата экрана должна быть в состоянии сделать следующее:

  1. Извлечь текущую активность из моего приложения
  2. Оставьте сообщение с помощью службы обмена сообщениями.

Служба обмена сообщениями должна иметь возможность:

  1. Получать сообщения в очередь для отправки на сервер из моего приложения / служб
  2. Отправлять сообщения, полученные с сервера, в приложение

Со всеми коммуникационными путями требуется, мне интересно, как это сделать? Могу ли я просто привязать свое приложение ко всем сервисам? Связывать услуги с другими службами? Использовать какую-то другую связь?

Мне нужно, чтобы все эти службы продолжали работать / работать, даже если мое приложение не находится на переднем плане.

Solutions Collecting From Web of "Как справиться с необходимостью межпроцессного взаимодействия в моем приложении Android?"

Предоставлено больше информации в чате , но общая тяга:

  • Используйте AlarmManager для планирования вызовов широковещательного приемника
  • Пусть получатель перераспределяет себя при вызове
  • Пусть получатель отправит команду службе (это запустит службу, если она еще не запущена)
  • Пусть сервис вращает нить
  • Делать HTTP в потоке