使用java获取Android项目中计算机的IP地址

我正在使用ksoap2-android ,我需要使用java获取IP地址,这样我就不必每次都手动输入它。

我的意思是IP地址,例如,如果我使用命令shell执行ipconfig
特定于连接的DNS后缀。 :
链路本地IPv6地址。 。 。 。 。 :f0 :: ed2:e3bf:8206:44%13
IPv4地址。 。 。 。 。 。 。 。 。 。 。 :192.168.1.107 < – 这一个
子网掩码 。 。 。 。 。 。 。 。 。 。 。 :255.255.255.0
默认网关 。 。 。 。 。 。 。 。 。 :192.168.1.1

事情是开发一个Android应用程序,模拟器有一个不同types的IP比机器的。
我需要获得机器的IP,这是怎么做到的?

非常感谢

public String getLocalIpAddress() { try { for (Enumeration en = NetworkInterface .getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration 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 ""; } 

要获取Android设备的Ipaddress,请使用此代码。

 WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddress = wifiInfo.getIpAddress(); String ip = intToIp(ipAddress); public String intToIp(int i) { return ((i >> 24 ) & 0xFF ) + "." + ((i >> 16 ) & 0xFF) + "." + ((i >> 8 ) & 0xFF) + "." + ( i & 0xFF) ; } 

试试这个链接

http://www.droidnova.com/get-the-ip-address-of-your-device,304.html

你也可以尝试这个命令adb shell netcfg

 InetAddress iA=InetAddress.getLocalHost(); System.out.println(iA.getHostAddress()); 

也可以看看

  • getHostAddress()