如何获取本地网络Ipv4地址

public staticString getLocalIpv4Address(Context context) {

ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

try{

Method e = ConnectivityManager.class.getMethod("getActiveLinkProperties",newClass[0]);

LinkProperties prop = (LinkProperties)e.invoke(cm,newObject[0]);

returnformatIpAddresses(prop);

}catch(NoSuchMethodException var4) {

var4.printStackTrace();

}catch(InvocationTargetException var5) {

var5.printStackTrace();

}catch(IllegalAccessException var6) {

var6.printStackTrace();

}

return"127.0.0.1";

}

private staticString formatIpAddresses(LinkProperties prop) {

if(prop ==null) {

return null;

}else{

try{

Method e = LinkProperties.class.getMethod("getAddresses",newClass[0]);

e.setAccessible(true);

Collection addresses = (Collection)e.invoke(prop,newObject[0]);

Iterator var4 = addresses.iterator();

while(var4.hasNext()) {

InetAddress address = (InetAddress)var4.next();

if(addressinstanceofInet4Address) {

returnaddress.getHostAddress();

}

}

}catch(NoSuchMethodException var5) {

var5.printStackTrace();

}catch(InvocationTargetException var6) {

var6.printStackTrace();

}catch(IllegalAccessException var7) {

var7.printStackTrace();

}

return"127.0.0.1";

}

}

推荐阅读更多精彩内容

  • 电视盒子中比较常见的一个难点总结如下: 1:判断是自启动还是与服务端测试 2:没有网络情况下,怎么在启动后通过ad...
    茴香豆的第五种写法阅读 595评论 1 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 106,424评论 12 127
  • 大出血,两个月中的第三次手术,我不知道还可以坚持几次,父亲也不知道还可以坚持几次。 总以为自己有向死而生的勇气,可...
    劍劍阅读 209评论 0 0
  • 曾经,迷迷糊糊的生活着,无论幸福痛苦似乎都不那么深切,回想起来就像一场梦,一切虚虚实实。也许,我的青春就是如此的样...
    明四公子阅读 36评论 0 0
  • 注:(美)彼得.德鲁克,卓有成效的管理者,北京:机械工业出版社,2005.6 作者:七彩狐 在第二章里,德鲁克认为...
    七彩狐阅读 144评论 0 2