java - 连接到3G移动网络时获取android设备的IP地址

标签 java android ip-address 3g-network

当我连接WiFi时,我可以获取到Android手机的IP地址。

但是在3G等移动网络上,是否还能获取到安卓手机的IP地址呢?
如果是,请发布相同的代码。

最佳答案

尝试这样的事情

String ipAddress = null;
    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()) {
                    ipAddress = inetAddress.getHostAddress().toString();
                }
            }
        }
    } catch (SocketException ex) {}

关于java - 连接到3G移动网络时获取android设备的IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5818725/

相关文章:

java - HttpServlet - 将上下文添加到 html 页面

java - 如何在 Java 中包含一个在 C++ 中具有 native 绑定(bind)的库(剧本)?

java - 解析 JSON 并将其作为自定义对象列表写入首选项

java - 如何在后台服务中检测 View 之外的触摸事件?

java - 如何将 jodatime 持续时间转换为格式为 hh :mm:ss? 的字符串

java - 如何在一页中打印多个 Jtable

java - Android如何给当前打开的activity添加元素

php - 为什么本地主机上的 IP 地址是 127.0.0.1

c# - 使用 C# 获取 IP 地址和适配器描述

xamarin - 升级到 Xamarin.iOS 9.8.0.323 后使用外部 IP 地址的 NameResolutionFailure