================ UPDATE 24 янв 2015 ================= ===
для понимания разницы между Посланником и механизмом AIDL, as per documentation
Использование Посланником
Если вам нужен интерфейс для работы в различных процессах, вы можете создать интерфейс для службы с Посланником. Таким образом, служба определяет обработчик, который отвечает на разные типы объектов Message. Этот обработчик является основой для Messenger, который затем может передавать IBinder с клиентом, позволяя клиенту отправлять команды службе с использованием объектов Message. Кроме того, клиент может определить собственный Messenger, чтобы служба могла отправлять сообщения обратно. Это самый простой способ выполнения межпроцессного взаимодействия (IPC), поскольку Messenger ставит в очередь все запросы в один поток, так что вам не нужно проектировать свою службу в потокобезопасной.
Использования AIDL
AIDL (Android Interface Definition Language) выполняет всю работу, чтобы разложить объекты в примитивы, что операционная система может понять и Маршалловы их через процессы для выполнения IPC. Предыдущий метод, использующий Messenger, фактически основан на AIDL в качестве его базовой структуры. Как упоминалось выше, Messenger создает очередь всех клиентских запросов в одном потоке, поэтому служба получает запросы по одному за раз. Если, однако, вы хотите, чтобы ваша служба обрабатывала несколько запросов одновременно, вы можете напрямую использовать AIDL. В этом случае ваш сервис должен иметь возможность многопоточности и быть потокобезопасным. Чтобы использовать AIDL напрямую, вы должны создать файл .aidl, который определяет интерфейс программирования. Инструменты Android SDK используют этот файл для создания абстрактного класса, который реализует интерфейс и обрабатывает IPC, который вы затем можете расширить в своей службе.
В дополнении к тому, что говорят документы, реализация AIDL включает в себя написание кода шаблонного для сортировочных и демаршалинга передаваемых данных (используя Parcelable интерфейса) с возможностью принимать запросы от нескольких потоков одновременно, в то время как Messenger ставит в очередь сообщения и делает тяжелый подъем, но по одному запросу в то время.
Для взаимодействия службы и деятельности вы должны использовать асинхронный механизм обратного вызова. Обходной путь довольно прост, используя EventBus библиотека. Он в основном использует broadcastreceivers для отправки сообщений и обмена данными между различными компонентами вашего приложения.
Я настоятельно рекомендую вам взглянуть на this tutorial и ссылки, так как EventBus - это в настоящее время одна из наиболее часто используемых библиотек в разработке android.
@BSMP Спасибо за редактирование, но я тоже ожидал ответа. – JavaN00b