0
我有一個方法,使用android shell命令獲取子網掩碼。我測試了adb和作品;不過,我只是把它放在一個方法中,我可以在android監視器控制檯上顯示輸出結果。如果有更簡單的方法,請告知。謝謝。順便說一句,我的主要活動線程中運行這個(沒有的AsyncTask)爲什麼這種方法是不給我在Android的子網掩碼
/*
* method to return private subnet mask
*/
public String getPrivateSubnet() {
String output = "";
final String SUBNET_CMD = "/system/bin/ifconfig wlan0 | find \"Mask\"";
try {
Process p = Runtime.getRuntime().exec(SUBNET_CMD);
// p.wait();
Log.v("SUBNET OUTPUT", p.toString());
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
Log.v("SUBNET", inputLine);
}
in.close();
} catch (IOException ex) {
ex.printStackTrace();
}
Log.v("SUBNET", output);
return output;
}
我搜索過其他的方法,但它是如此繁瑣獲得的IPv4子網掩碼。 ipv6我可以使用NetworInterface類,但它不會給我ipv4。這就是爲什麼我使用這種方法 – miatech
這種使用ipconfig的方法wlan在Android手機中並不可靠。輸出因手機而異。有沒有辦法使用java api獲取ipv4的子網掩碼 – miatech
@miatech請參閱編輯我的答案。 –