DhcpInfo не отвечает на сетевую маску в Android Lollipop
Вчера я обновил свой nexus 5 до lollipop, и мое приложение перестало работать, после небольшого исследования я обнаружил, что проблема, с которой DhcpInfo не возвращает ноль в переменной netmask.
Я не мог найти альтернативу этому классу.
1 ответ
Решение
Ты можешь использовать getNetworkPrefixLength
метод InterfaceAddress
, который вы получаете от NetworkInterface
, Возвращает правильное значение в Lollipop.
NetworkInterface networkInterface = NetworkInterface.getByInetAddress(ipAddress);
for (InterfaceAddress address : networkInterface.getInterfaceAddresses()) {
short netPrefix = address.getNetworkPrefixLength());
}
Примечание: он возвращает длину префикса сети, поэтому вам придется преобразовать его (/24 для 255.255.255.0 и т. Д.)