2014-11-14 3 views
5

Вчера я обновляю свой nexus 5 до lollipop, и мое приложение перестает работать, после небольшого расследования я обнаружил, что проблема DhcpInfo не возвращает значение null в переменной netmask.DhcpInfo не отвечает на сетевую маску в Android Lolipop

Я не нашел альтернативы этому сорту.

Любые идеи?

С уважением

+0

У меня такая же проблема, и не нашли решение еще. Однако откуда вы прочитали, что DhcpInfo устарел? –

+0

Кажется, что DhcpInfo больше не устарел, но мое приложение настроено на API 18, в API 18 оно используется для устаревания: http://developer.android.com/sdk/api_diff/19/changes/android. net.wifi.WifiManager.html –

+0

Вы используете Android Lollipop. Таким образом, вы должны использовать Android API уровня 21 :) –

ответ

6

Вы можете использовать getNetworkPrefixLength метод InterfaceAddress, который вы получаете от NetworkInterface. Он возвращает правильное значение в Lollipop.

NetworkInterface networkInterface = NetworkInterface.getByInetAddress(ipAddress); 
for (InterfaceAddress address : networkInterface.getInterfaceAddresses()) { 
    short netPrefix = address.getNetworkPrefixLength()); 
} 

Примечание: Возвращается Длина префикса сети, так что вам придется конвертировать его (/ 24 для 255.255.255.0 и т.д.)

+0

вернет префикс Wi-Fi или WAN префикс? – FujiRoyale

 Смежные вопросы

  • Нет связанных вопросов^_^