Android项目中使用java获取电脑的IP地址

发布于 2024-10-22 00:09:43 字数 508 浏览 4 评论 0原文

我正在使用 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 应用程序,并且模拟器的 IP 类型与机器的 IP 类型不同。
我需要获取机器的IP,该怎么做?

多谢

I am using ksoap2-android and i need to get the IP address using java so that I don't have to type it manually everytime.

What i mean by IP address is , for example if I do ipconfig using the command shell:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : f0::ed2:e3bf:8206:44%13
IPv4 Address. . . . . . . . . . . : 192.168.1.107 <--THIS ONE
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1

The thing is am developing an android app, and the emulator has a different type of IP's than the machine's .
I need to get the machine's IP , how is this to be done?

thanks a lot

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

凉薄对峙 2024-10-29 00:09:43
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 "";
    }
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 "";
    }
つ低調成傷 2024-10-29 00:09:43

要获取 Android 设备的 IP 地址,请使用此代码。

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) ;
}

To get the Ipaddress of your android device you use this code.

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) ;
}
你穿错了嫁妆 2024-10-29 00:09:43

尝试此链接

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

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

Try this link

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

also you can try this command adb shell netcfg

莳間冲淡了誓言ζ 2024-10-29 00:09:43
InetAddress iA=InetAddress.getLocalHost();
System.out.println(iA.getHostAddress());

另请参阅

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

See Also

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文