Тот же код работает на Samsung S8 и Sony XZ, но не на Google Pixel 3.
Я начинаю обнаружение с помощью NsdManager с:
nsdManager.discoverServices("_test_service._tcp.", NsdManager.PROTOCOL_DNS_SD, discoveryListener)
DiscoveryListener выполняет обратный вызов onDiscoveryStarted с таким же типом службы, как указано. Я сижу на том же Wi-Fi, что и моя служба, я жду и жду, но обратного вызова onServiceFound не приходит. Обратный вызов onServiceFound происходит через миллисекунды после запуска обнаружения на Samsung S8 и Sony XZ.
Есть ли какие-либо известные проблемы с NsdManager для Google Pixel 3?
Да, но я не нахожу никаких услуг в сети
Я искал принтеры в той же сети Wi-Fi, и все работало нормально. Вы уверены, что устройства, которые вы ищете, находятся в одной сети?
Ага. Я пробовал несколько раз с другими устройствами, кроме упомянутых. Телефоны Sony работают, но через некоторое время NsdManager отказывается начинать / останавливать открытия. Но Google Pixel 3 до сих пор не находит никаких устройств. Есть ли маршрутизаторы, которые Pixel 3 не поддерживает?
Пробовал с jmDNS, но не работал и на Google Pixel 3.
См. Способ решения проблемы Pixel здесь: stackoverflow.com/a/53630778/78356
Вы пробовали использовать чистый TCP без "test_service"?