2011-08-20 102 views
3

我需要从Android获取网络掩码和IP,以便我可以计算我的子网范围内的所有IP。如何从Android设备获取网络掩码?

我一直在寻找,至今我发现这一点: Programmatically getting the gateway and subnet mask details

的问题是,它并不适用于所有设备。例如,它不适用于模拟器(任何Android版本),它不适用于我的Archos 7HT与Android 1.5。 它为网络掩码和网关返回0。

有没有办法做到这一点?有什么系统文件,我可以读取包含此信息? (如下所示:http://www.flattermann.net/2011/02/android-howto-find-the-hardware-mac-address-of-a-remote-host/)。

在我的先进的无线设置,我可以看到这些设置,所以必须有对它们进行检索的方式...

感谢。

回答

0

尝试使用API​​ InetAddress和NetworkInterface。仿真器没有WIFI,因此无法使用Wifi API获取地址。

检查this reply

+0

我可以得到InetAddress类和NetworkInterface的知识产权,而无需使用WifiManager哪个更好,但我不能让与的InetAddress和NetworkInterface的网络掩码,他们不提供这样的方法。 – sergi

+0

您可以使用相同的NetworkInterface获取子网掩码,方法是检索所有接口的地址,并为每个接口检索网络前缀长度。点击这里 - > http://en.wikipedia.org/wiki/Subnetwork – ruhalde

+0

我其实不明白你的意思。 我的意思是,我有IP 192.168.0.2的wlan0接口,我该如何检索网络前缀长度? – sergi