在下面的代码我试着得到IP
他的网络,但我得到的info.getIpAddress();
是
-25576378
为什么?这是什么?
码
WifiInfo info = mWiFiMgr.getConnectionInfo(); String ssid; int strength = WifiManager.calculateSignalLevel(info.getRssi(), 5); String unit = WifiInfo.LINK_SPEED_UNITS; int ip_add = info.getIpAddress(); int speed = info.getLinkSpeed();
SME_Dev.. 8
您可以使用此方法获取ip字符串:
private static String getIpAddress(WifiInfo wifiInfo) { String result; int ip = wifiInfo.getIpAddress(); result = String.format("%d.%d.%d.%d", (ip & 0xff), (ip >> 8 & 0xff), (ip >> 16 & 0xff), (ip >> 24 & 0xff)); return result; }
wifiInfo.getIpAddress()
返回一个整数.这是可能的,因为IPv4地址包含4个字节(fe 192.168.255.2 ==> 4倍1字节),就像整数在Java/Android中消耗4个字节一样.通过移动给定的整数,您可以确定每个ip的字节值.
您可以使用此方法获取ip字符串:
private static String getIpAddress(WifiInfo wifiInfo) { String result; int ip = wifiInfo.getIpAddress(); result = String.format("%d.%d.%d.%d", (ip & 0xff), (ip >> 8 & 0xff), (ip >> 16 & 0xff), (ip >> 24 & 0xff)); return result; }
wifiInfo.getIpAddress()
返回一个整数.这是可能的,因为IPv4地址包含4个字节(fe 192.168.255.2 ==> 4倍1字节),就像整数在Java/Android中消耗4个字节一样.通过移动给定的整数,您可以确定每个ip的字节值.