У меня есть деятельность и связанный с ней связанный сервис. У меня есть связанная служба и работает нормально, поэтому я могу обрабатывать связь с клиентом на сервере, используя функции на интерфейсе сервера/связующего.Android двусторонняя связь
Однако мне нужно двухстороннее общение, служба в какой-то момент должна будет уведомить об этом (и пользователя) что-то, что произошло, и перед продолжением нужно дождаться действия пользователя. Другими словами, мне нужно, чтобы серверные вызовы для клиентов были синхронными или блокируемыми. То есть когда служба вызывает функцию, она передаст клиенту несколько параметров, что приведет к активации AlertDialog для пользователя, а их параметры будут определять код состояния возврата, отправленный обратно в службу. До этого момента я хочу, чтобы Служба остановилась и подождала, пока она не получит ответ, который затем определит, что он делает оттуда (служба продолжает работать, завершение службы и т. Д.)
Так что есть способ Android для этого? Мне нужно получить ссылку на мою деятельность, и она также должна раскрывать эти методы блокировки, чтобы я мог вызывать их из службы, а затем ждать ответа. У меня есть интерфейс для моей клиентской деятельности, но я борюсь за то, как передать это на службу. Я не хочу использовать сериализацию и добавлять ссылку в качестве дополнения, так как у клиента и службы есть много членов, которые я не хочу быть Serializable.
Спасибо.
у вас есть «связанный местный сервис»? затем передайте интерфейс обратного вызова в службу, и он может позже вызвать какой-либо метод этого интерфейса. – pskink
Пожалуйста, будьте более конкретным! Как передать интерфейс службе? В качестве сериализуемого намерения дополнительно? Если это так, то мы уже обсуждали этот вопрос по последнему вопросу, и это не решение. – dahui
нет, нет лишнего, просто передайте ссылку своего интерфейса. – pskink