首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android:在ICS上获取IP over WIFI

问android:在ICS上获取IP over WIFI
EN

Stack Overflow用户
提问于 2012-05-31 21:52:03
回答 2查看 854关注 0票数 0

我想获得WIFI连接使用的IP (不是3G)。有人知道怎么做吗?我使用:

代码语言:javascript
复制
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;

}

但它会在ICS上返回3G ip。

谢谢,

亚历克斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-31 22:14:33

您无法检测基于IP地址的连接类型,因为您的移动网络和归属WiFi网络都可以分配私有IP地址。

您需要做的是首先检测您是否有移动网络或WiFi连接,然后根据该信息获取该连接的IP地址。

请在中查看此thread,因此它与您在ICS上的问题相同

票数 0
EN

Stack Overflow用户

发布于 2012-05-31 21:59:13

代码语言:javascript
复制
WifiInfo winfo = ((WifiManager)this.getSystemService(Context.WIFI_SERVICE)).getConnectionInfo();
winfo.getIpAddress();

在执行上述操作之前,您可能需要检查是否已连接到Wifi

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10835017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档