我已搜查了配发网络有关如何捕获用户的IP 地址 Android应用程序的最终用户的> IP地址谁是真正的使用我的ANDROID APPLICATION,但没有得到适合我的正确代码。
我正在Eclipse上开发这个android应用程序。
上大部分的论坛上,我得到这个链接是不可达的所有: http://www.droidnova.com/get-the-ip-address-of-your-device,304.html
需要您的支持家伙。
感谢
我已搜查了配发网络有关如何捕获用户的IP 地址 Android应用程序的最终用户的> IP地址谁是真正的使用我的ANDROID APPLICATION,但没有得到适合我的正确代码。
我正在Eclipse上开发这个android应用程序。
上大部分的论坛上,我得到这个链接是不可达的所有: http://www.droidnova.com/get-the-ip-address-of-your-device,304.html
需要您的支持家伙。
感谢
编辑:基于评论:这是服务器端角色来获取客户端IP,而不是Android作业。 下面是一个示例,你如何使用PHP:$_SERVER['REMOTE_ADDR']
我试过了,但我需要捕获(存储)将使用我的Android应用程序的用户的IP地址。 – ChitranjanThakur 2013-05-07 12:34:17
哪一个你尝试过,你需要在哪里存储它:Android或服务器端? – 2013-05-07 13:05:15
感谢您的回复,我需要将它存储在我的服务器上,只需保存使用我的应用的用户的IP地址的日志。 – ChitranjanThakur 2013-05-07 16:12:36
你可以尝试下面的代码。
public String getLocalIpAddress() {
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()) {
String ip = Formatter.formatIpAddress(inetAddress.hashCode());
return ip;
}
}
}
} catch (SocketException ex) {
//
}
return null;
}
不要忘了添加下面的权限,才能让您的应用程序打开网络套接字:
<uses-permission android:name="android.permission.INTERNET" />
@Ankur - 我得到这个错误“从Formatter类型的方法formatIpAddress(int)已弃用”在这一行“获取String ip = Formatter.formatIpAddress(inetAddress.hashCode());” – ChitranjanThakur 2013-05-07 12:41:15
将格式化程序行CT讨论的内容切换为:String ip = inetAddress.getHostAddress();避免弃用警告 – ColossalChris 2015-03-13 22:49:28
或者不是从服务器请求IP的,你可以告诉你的手机发送IP。
您可以使用以下代码获取IP地址。
public String getLocalIpAddress() {
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()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e(tag, ex.toString());
}
return "";
}
这是你想要的吗?http://stackoverflow.com/questions/6064510/how-to-get-ip-address-of-the-device Utils.getIPAddress(true); // IPv4 Utils.getIPAddress(false); // IPv6 – cremy 2013-05-07 12:28:56