在下面的代码中,我试着获取他的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();
答案 0 :(得分:6)
您可以使用此方法获取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中整数消耗4个字节一样/ Android系统。通过移动给定的整数,您可以确定每个ip的字节值。