2011-08-20 100 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