如何获取本地网络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";

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 电视盒子中比较常见的一个难点总结如下: 1:判断是自启动还是与服务端测试 2:没有网络情况下,怎么在启动后通过ad...
    茴香豆的第五种写法阅读 5,426评论 1 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,777评论 19 139
  • 大出血,两个月中的第三次手术,我不知道还可以坚持几次,父亲也不知道还可以坚持几次。 总以为自己有向死而生的勇气,可...
    劍劍阅读 3,287评论 0 0
  • 注:(美)彼得.德鲁克,卓有成效的管理者,北京:机械工业出版社,2005.6 作者:七彩狐 在第二章里,德鲁克认为...
    七彩狐阅读 3,229评论 0 2