Обзор моего варианта использования:
У меня есть приложение, которое содержит сервис SignInService
.Эта служба принимает учетные данные для входа в систему, инициирует аутентификацию (путем нажатия стороннего API) и получает результат (успех / неудача).
У меня есть несколько приложений, которые говорят: App1
(с Activity1
) и App2
(Activity2
), оба из которых имеют пользовательский интерфейс и, в основном, запускают SignInService
с учетными данными для входа в систему и ждут результата аутентификации.Затем оба эти действия будут динамически изменять пользовательский интерфейс в зависимости от результата.
Я провел некоторое исследование и нашел некоторые решения, ни одно из которых, похоже, не подходит для моей ситуации:
- Решение : Отправка трансляции с
SignInService
и получение ее в моих приложениях с использованием BroadcastReceivers
.
Проблема : Это не даст результатавернуться к операции, которая инициировала службу и ожидает изменения ее пользовательского интерфейса в зависимости от результата.
- Решение : Использование обратных вызовов
ResultReceiver
.
Проблема : Работает с действиями и службами в одном приложении.
Есть ли другой способ реализовать эту функцию?Я исследовал службы и BroadcastReceivers и, похоже, не нашел решения (может быть, я что-то упустил).
ps: Я не включил код, потому что не думаю, что эта проблема связана с кодом.Кроме того, я не собираюсь использовать Service
для входа в систему и хочу, чтобы мои параметры были открыты для всех видов решений.