我想要在连接到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