在Android应用程序中,我想获取当我键入" ipconfig"时出现的动态本地IP地址。在cmd。使用这段代码我在stackoverflow上找到了这里,它返回一个ip地址,但它与ipconfig中的地址不同。这是为什么?如何获取使用ipconfig显示的确切IP地址?
public String getLocalIpAddress() {
WifiManager wifiManager = (WifiManager)
getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ip = wifiInfo.getIpAddress();
String ipString = String.format(
"%d.%d.%d.%d",
(ip & 0xff),
(ip >> 8 & 0xff),
(ip >> 16 & 0xff),
(ip >> 24 & 0xff));
return ipString;
}
答案 0 :(得分:0)
好的基于上面的命令,我想我知道这个问题。首先是一些基础知识。连接到网络的每台设备都会有不同的ip address。
An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) participating in a computer network that uses the Internet Protocol for communication
如果您在家中有2部手机和1台笔记本电脑并且所有设备都连接到家庭wifi,那么您的每部手机和笔记本电脑都将拥有3个独特的不同IP地址。
在终端中运行ipconfig
时,它会返回系统(或笔记本电脑)的IP地址。但是,当您运行给定here的任何代码时,它会返回您的移动设备的IP地址。这显然与您在终端上看到的不同。