android 获取当前手机的 DHCP 信息ip,server 等

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
assert wifiManager != null;
DhcpInfo dhcpInfo = wifiManager.getDhcpInfo();
LogUtils.w(dhcpInfo);
// ipaddr 172.20.161.205
// gateway 172.20.160.1
// netmask 255.255.254.0
// dns1 172.16.2.15
// dns2 172.16.2.16
// DHCP server 172.20.160.1
// lease 14400 seconds
int ip = dhcpInfo.serverAddress;
//此处获取ip为整数类型,需要进行转换
final String strIp = intToIp(ip); // 172.20.160.1 ip --->< 27268268
LogUtils.w(strIp + " ip --->< " + ip);

其中用到的方法:

private String intToIp(int i) {
    return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "."
            + ((i >> 24) & 0xFF);
}

方法并不是我写的,不知道在哪看到的了。源码里面有类似的,但是比这个方法长。

你可能感兴趣的:(android)