【发布时间】:2011-08-14 16:38:25
【问题描述】:
当我连接WiFi时,我可以获取Android手机的IP地址。
但是,在3G等移动网络上,是否还能获取安卓手机的IP地址?
如果是,请发布相同的代码。
【问题讨论】:
标签: java android ip-address 3g-network
当我连接WiFi时,我可以获取Android手机的IP地址。
但是,在3G等移动网络上,是否还能获取安卓手机的IP地址?
如果是,请发布相同的代码。
【问题讨论】:
标签: java android ip-address 3g-network
试试这样的
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) {}
【讨论】:
移动设备通过 3G 连接浏览时没有 ip,您将在服务器端代码上获取 ISP ip。如果可能,我建议您将 ip 替换为唯一 id、设备类型和坐标。
【讨论】: