android手机获取本地ip为10.2.0.5 的解决方法

来源:互联网 发布:语文网络培训心得体会 编辑:程序博客网 时间:2024/06/15 22:13

一般获取ip方法是

public String getLocalIpAddress() {          try {              String ipv4;              List  nilist = Collections.list(NetworkInterface.getNetworkInterfaces());              for (NetworkInterface ni: nilist)               {                  List  ialist = Collections.list(ni.getInetAddresses());                  for (InetAddress address: ialist){                      if (!address.isLoopbackAddress() && InetAddressUtils.isIPv4Address(ipv4=address.getHostAddress()))                       {                           return ipv4;                      }                  }              }          } catch (SocketException ex) {              Log.e(LOG_TAG, ex.toString());          }          return null;      } 

可以理解为从内部获取;

目前仅知道用小米手机调试会出现ip错误的情况

可以通过下面两种方法获取
1:socket的 socket.getLocalAddress()
2:通过wifiManager

方法具体实现(192.168.3.1为进入路由器的地址)

// 1获取ip        WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);         WifiInfo info = wifiManager.getConnectionInfo();        ip =Formatter.formatIpAddress(info.getIpAddress());        return ip;//2获取ip//        try{//            Socket socket = new Socket("192.168.3.1", 80);//            ip=socket.getLocalAddress().toString();//            return ip;//        } catch (Exception e) {//            e.printStackTrace();//            //throw new RuntimeException();//        }//        return null;
1 0
原创粉丝点击