查找运行Web服务的Android设备的IP地址。

3

我已经在我的Android设备上设置了一个Web服务。现在,我想通过WiFi从PC向Android发送请求。我需要Android设备的IP地址才能从同一网络中的PC访问它。如何通过我的代码找到IP地址?

有谁可以帮帮我吗?

提前致谢。


可能是重复的问题,参考如何获取设备的IP地址? - David Z
2个回答

5

要获取设备的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(LOG_TAG, ex.toString());
    }
    return null;
}

如果此方法返回null,则没有可用的连接。 如果该方法返回一个字符串,则该字符串包含设备当前使用的IP地址,无论是3G还是WiFi。


0
刚刚发现如何获取您的内部IP地址: 设置 >> 无线控制 >> Wi-Fi设置
在“Wi-Fi网络”下方 点击您所连接的连接
它会弹出一个窗口,显示以下信息:
Status
Speed
Signal Strength
Security
**IP Address**

正确,但在DHCP配置中,这永远不能保证保持不变。 - Anirudh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接