【转】Android获取IP的方法,并可以判断手机是否联网


转自CSDN的Android_Tutor的博文,因为感觉很有用。

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

Android_Tutor代码中,LOG_TAG需要加上双引号,另外我一直认为拿来主义很正确嘛,就比如这个方法,里面有些名称或类都不认识,没关系,知道能返回String类型的IP就行了,当然如果时间充裕的话,稍微理解下也好,细嚼慢咽当然好,囫囵吞枣不也为是一种方法。这个方法就是获取用户当前IP,无论是wifi还是3g上网,当设置为飞行模式的时候,获取的就是null了,

优质内容筛选与推荐>>
1、PhoneGap-V1.0
2、每天一个linux命令(32):diff 命令
3、Net WebApi中使用Swagger
4、windows SysinternalsSuite
5、Java programming problem in linux box: Exception in thread "main" java.lang.NoClassDefFoundError


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号