Я пытаюсь иметь двунаправленное соединение между двумя устройствами, один из которых будет сервером, а другой - клиентом. Поскольку он двунаправлен, оба могут отправлять данные приема.Android IntentService call
Я создаю их в Управлении, которое у меня есть, в котором перечислены установленные приложения, которые у меня есть на моем телефоне (отфильтрованные системные приложения). Тогда у меня есть адаптер для этого списка, где я определяю прослушиватель для элементов этого списка. В принципе, если я нажимаю один из элементов из списка, я хочу отправить сообщение другому устройству.
Итак, если внутри метода onHandleIntent() я жду сообщений, где я должен помещать код в сообщения SEND?
EDIT: Я мог бы создать еще одну услугу для части отправки, но это заставило бы меня создать 4 службы, 2 для клиента (отправить и получить) и еще 2 для сервера (отправить и получить еще раз).
Большое вам спасибо за помощь! Я буду следовать вашим советам и использовать два разных IntentService (для отправки и получения). Возможно, однажды я проверю, будет ли более эффективным использование службы с двумя потоками. Опять же, огромное спасибо за совет, я был застрял. Я новичок здесь, и я не знаю, помогут ли мои голоса, но я надеюсь, что они это сделают :) –
Я еще не тестировал, но я думаю, что могут быть некоторые проблемы с использованием двух IntentServices (и установления соединения в метод onStartCommand - сокеты и объекты потока -), так как он заставит меня иметь два набора сокетов для тех же двух устройств. Я не знаю, будет ли это проблематично. Таким образом, возможно, одна услуга с двумя потоками внутри будет лучше, потому что таким образом вы можете использовать те же объекты сокета и потока. –
У меня также была Служба, которая выполняла какое-то параллельное чтение/запись в поток. То, что я сделал, - это один сервис (не IntentService), который запускает прослушивающий поток при запуске и убивает его при остановке. Что-то вроде этого может или не может работать для вас, но это имело смысл для меня :) – Bob