Android 获取当前子网掩码地址(亲测可用),现在网上好多都是通过 DhcpInfo 来获取,但是通过这种方法有 Bug,很多人用 DhcpInfo 的方式都是获取不到,都是为 0.0.0.0。
以下为可用的方法
public static String getIpAddrMask() {
try {
Enumeration networkInterfaceEnumeration = NetworkInterface.getNetworkInterfaces();
while (networkInterfaceEnumeration.hasMoreElements()) {
NetworkInterface networkInterface = networkInterfaceEnumeration.nextElement();
if (!networkInterface.isUp()) {
continue;
}
for (InterfaceAddress interfaceAddress : networkInterface.getInterfaceAddresses()) {
if (interfaceAddress.getAddress() instanceof Inet4Address) {
return calcMaskByPrefixLength(interfaceAddress.getNetworkPrefixLength());
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return