Android Q получить имя хоста с устройства по IP? - PullRequest
0 голосов
/ 18 января 2020

Итак, я несколько дней пытался получить имена хостов для IP-адресов на моем маршрутизаторе. Я перепробовал несколько вещей, но обнаружил, что, начиная с Android Q, большая часть того, что есть, устарела и не работает на моем пикселе.

Так что я пытаюсь разобраться, как это сделать , Я получаю IP-адрес от WifiManager, а затем oop через Inetaddress от su bnet. 0-255 с использованием inetAddress.isReachable(timeout)).

getHostname() не работает, он только возвращает IP. Поэтому я искал другой путь, так как большинство из найденных мной способов не работает.

Я столкнулся с этим в документации. «Ограничение доступа к / pro c/net файловой системе», которое исключало старое решение для чтения буфера. https://developer.android.com/about/versions/10/privacy/changes

Упоминается использование NetworkStatsManager или ConnectivityManager. Однако я не увидел там ничего, что позволило бы мне получить имя устройства с IP. Похоже, все дело в маршрутизаторе, а не в устройствах на нем. Однако я столкнулся с

https://developer.android.com/work/dpc/logging

setNetworkLoggingEnabled(), используя контроллер политики устройства.

Оставляет ли inetAddress.isReachable журнал?

Если так, как использовать DeviceAdminReceiver и retrieveNetworkLogs() для получения имени устройства?

Документация android действительно плохая. Поэтому я не могу понять, как использовать это, чтобы получить имя устройства. Прямо сейчас у меня есть список IP, но это не очень полезно. Мне нужно отфильтровать IP, поэтому я получаю только одно устройство, которое ищу. Я пробовал NSD, но он не подхватывает мое устройство и wifiP2P. Я получаю все остальное, кроме моего устройства, включая несколько случайных людей BMW.

Я нашел IP только через неадресный адрес. Так что это кажется единственным способом сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...