连接到3G移动网络时获取Android设备的IP地址
问题描述:
当我连接到WiFi时,我可以获取Android手机的IP地址。连接到3G移动网络时获取Android设备的IP地址
但是,在像3G连接这样的移动网络上,是否仍有可能获取Android手机的IP地址?
如果是,请寄出相同的代码。
答
尝试这样的事情
String ipAddress = null;
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
ipAddress = inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {}
答
移动设备不具有IP浏览通过3G连接时,您将获得服务器端代码的ISP IP。如果可能的话,我建议你用唯一的ID,设备类型和坐标替换IP。
@Shahtaj如果你有你的答案,请记住接受解决方案.. – nitinsh99 2013-04-06 19:12:10
获取IP地址0.0.0.0 – Umesh 2014-04-18 09:59:54
@Josnidhin因为它运行在循环,你如何确保你实际上得到正确的IP?有可能真正的ip已经被使用这种方法获取的最后一个ip(在循环迭代中找到)覆盖。 – Kaps 2017-09-15 12:59:19