Я реализовал Actor Model (например, Akka) для Android, так как Akka требует Java 8, я сделал свою собственную реализацию для Android, используя RxJava2, это было очень легко реализовать ... И как только она там, вы может отправлять сообщения, содержащие любой объект, любому получателю (Activity, Fragment, Service, Pojo и т. д.), не беспокоясь о потоках или сериализации
Трудно объяснить мою собственную реализацию в деталях, если вы не знаете, что такое Actor Model, но если вы знаете, вы можете создать интерфейс с именем "Actor" одним методом
void onMessageReceived(Message message);
И вы можете реализовать этот интерфейс любым имеющимся у вас Actor, а чтобы зарегистрировать любого Actor, вы можете создать класс ActorSystem, который имеет методы:
static void register(Actor actor, PublishSubject<Message> mailbox);
static void unregister(Actor actor);
static void send(Message message, Class<? extends Actor> ... actors);
И когда вы регистрируете своего Actor (Activity или Service), вы решаете, на какую ветку / планировщик получать ваши сообщения, через:
PublishSubject.observeOn(Schedulers.trampoline());
И вы регистрируете своего Актера в onCreate () и отменяете регистрацию в onDestroy ()
Или, если вам нужна библиотека для этого (но я ее не тестировал), вы можете взглянуть на это:
https://github.com/actorapp/droidkit-actors