我想要在連接到wifi網絡時獲取運行我的應用程序的手機上用戶的本地IPv4地址。使用下面的代碼:使用java獲取本地網絡的IP地址
WifiManager wm = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());
hostname = ip;
我能夠得到的東西接近IPv4地址,但相比於在命令行的IPv4地址的時候,它是不完全一樣的。有沒有更好的方法來解決這個問題?我知道formatIpAddress已被棄用,但直到我找到獲取IPv4地址的方式,我現在並不太擔心這一點。
編輯:
我發現,在手機的WiFi設置了IP地址使用的解決方案時,得到這樣的建議的解決方案的IP地址是什麼我得到。有什麼辦法可以在ip config客戶端獲取IP地址嗎?
*我能夠得到接近IPv4地址的東西,但它不是確切的。*這甚至意味着什麼? – shmosel
檢查這個問題:https://stackoverflow.com/questions/6064510/how-to-get-ip-address-of-the-device-from-code –
[此鏈接](https://stackoverflow.com/ questions/40912417/java-getting-ipv4-address)可以幫助你獲得IPv4地址。希望能幫助到你。 – Greenkiller