我想知道可以检测Android设备的IP地址和Android客户端名称的代码,以便在我们的应用程序中使用此IP地址和客户端名称。
任何人都可以帮助我... 在此先感谢。
答案 0 :(得分:7)
如果您在Android手机上运行此地址,则会告诉您自己的IP地址。
try{
InetAddress ownIP=InetAddress.getLocalHost();
System.out.println("IP of my Android := "+ownIP.getHostAddress());
}catch (Exception e){
System.out.println("Exception caught ="+e.getMessage());
}
如果您想知道与您的应用程序绑定的任何客户端的IP地址,请使用
Socket socket = serverSocket.accept(); // accept connection
System.out.println("Remote IP:"+socket.getInetAddress());
System.out.println("Remote Port:"+socket.getPort());
答案 1 :(得分:4)
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(LOG_TAG, ex.toString());
}
return null;
}