文档章节

wifi下获取IP地址

汇聚成河
 汇聚成河
发布于 2017/01/18 16:42
字数 151
阅读 3
收藏 0

还是直接上代码

public String getIpAddress(){
        String ipAddress = "";
        try{
            ipAddress = wifiIpAddress();
            if(ipAddress!=null&&ipAddress.trim().length()>0){
            }else{
                ipAddress = this.GPRSIpAddress();
            }
        }catch(Exception ex){
             
        }
        return ipAddress;//有IP返回就联网
    }
    private String wifiIpAddress(){
        String ip = "";
        //获取wifi服务
        WifiManager wifiManager = (WifiManager)(context).getSystemService(Context.WIFI_SERVICE);
        //判断wifi是否开启
        if (wifiManager.isWifiEnabled()) {
            //wifiManager.setWifiEnabled(true);  
            WifiInfo wifiInfo = wifiManager.getConnectionInfo();     
            int ipAddress = wifiInfo.getIpAddress(); 
            ip = intToIp(ipAddress);
        }
        return ip;
    }
    private String intToIp(int i) {
        return (i & 0xFF ) + "." +     
      ((i >> 8 ) & 0xFF) + "." +     
      ((i >> 16 ) & 0xFF) + "." +     
      ( i >> 24 & 0xFF) ;
    }
     
    private String GPRSIpAddress(){
        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.d("GPRSIpAddress IpAddress", ex.toString());
        }
        return "";
    }

然后添加权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  

© 著作权归作者所有

共有 人打赏支持
汇聚成河
粉丝 1
博文 33
码字总数 26406
作品 0
浦东
程序员
私信 提问
03-WIFI通讯获取Wifi名称及ip地址

在上一小节中,笔者在介绍wifi通讯流程中介绍到,wifi通讯的本质就是由路由器(wifi芯片)担任局域网服务器来实现多个客户端之间的数据转发,所以第一步我们的服务器需要去监听局域网内的端口...

u013263917
2017/08/13
0
0
Android 通用获取IP的方法

大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和 我们3G卡的Ip地址当然是不一样的. 以这种方法不可取...

阿酷
2011/10/21
952
0
监听系统网络状态

项目开发过程中,总会涉及到网络请求部分,在每个网络请求前都需要判断网络当前的连接状态。本文总结了Android系统服务ConnectivityManager和WifiManager的常用方法。 关键类: Connectivity...

一剑围城
2017/02/14
0
0
Android高手进阶教程(十一)之----Android 通用获取Ip的方法(判断手机是否联网的方法)!!!

大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和 我们3G卡的Ip地址当然是不一样的. 首先我尝试了如下...

迷途d书童
2012/02/29
77
0
Android 通用获取Ip的方法(判断手机是否联网的方法)!!!

在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和 我们3G卡的Ip地址当然是不一样的. 首先我尝试了如下方法: 但是获得的居然是一个整数,我尝试了用些数学方...

华宰
2011/09/18
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

ShxViewer_SHX字体查看

ShxViewe 是一款非常实用的SHX字型浏览软件。从CAD里面的字体浏览软件分离出来,帮助我们预览shx字体。 程序长这个样子: 分别打开txt.shx、hztxt.shx、ltypeshp.shx这几个形文件,可以了解一...

一个小妞
20分钟前
0
0
Jenkins的初步使用

Jenkins真是个宝藏软件,今天大概安装使用了一下,感觉还有好多维度可以探索。 1)安装:在Windows上使用的,在https://jenkins.io/download/下载Windows安装包,解压后是一个msi文件,默认安...

莫在全
32分钟前
0
0
技术复习-分布式事务

一、分布式事务解决方案 1.两阶段提交 two phase commit 角色分为协调者、参与者。协调者负责协调所有的参与者。 第一阶段 prepare 协调者发送prepare请求,参与者锁定资源之后返回ready或者...

Lubby
42分钟前
1
0
jenkins安装

https://my.oschina.net/u/593517/blog/1797968 jenkins 安装 https://my.oschina.net/u/593517/blog/3028175 GIT 安装 https://my.oschina.net/u/593517/blog/3028179 maven 安装 插件安装 ......

Gm_ning
51分钟前
2
0
小言服务端解决方案-监控

框架保证方向,整体包容细节 为保证服务端运行平稳正常,owner应使得系统应保有相应的监控:系统监控,业务监控。而服务运行的平稳高效是否有保障跟监控粒度又成直接的正比关系。本文仅针对开...

重城重楼
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部