您的位置:首页 > 移动开发 > Android开发

Android获取当前设备有效的IP地址

2015-01-08 16:11 507 查看
获取当前设备有效的IP地址(通过反射来获取)

private InetAddress getActiveAddress() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {

ConnectivityManager connectivityManager = (ConnectivityManager)getContext().getSystemService(Context.CONNECTIVITY_SERVICE);

Method activeLinkPropertiesMethod = connectivityManager.getClass().getDeclaredMethod("getActiveLinkProperties");
activeLinkPropertiesMethod.setAccessible(true);
Object linkProperties = activeLinkPropertiesMethod.invoke(connectivityManager);

if (linkProperties == null) return null;

Method addressesMethod = linkProperties.getClass().getDeclaredMethod("getAddresses");
Collection<InetAddress> inetAddresses = (Collection<InetAddress>)addressesMethod.invoke(linkProperties);
Iterator<InetAddress> iterator = inetAddresses.iterator();

return iterator.hasNext() ? iterator.next() : null;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: