gpt4 book ai didi

java - 如何在android中自动提供设备的IP

转载 作者:行者123 更新时间:2023-12-02 09:42:28 25 4
gpt4 key购买 nike

目前,我正在手动提供模拟器 IP 地址。经过一番研究,我发现如果我的设备连接了Wifi,我可以使用以下方法。

WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);
String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());

但是在我的情况下它没有连接到wifi(连接到LAN),在这种情况下我该怎么办?

这就是我现在所拥有的。我想让我的应用程序自动选择其 IP 地址。

字符串 url = "0.0.0.0";//模拟器ip
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(url);

最佳答案

public String getLocalIpAddress() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
String ip = inetAddress.getHostAddress();
Log.i(TAG, "***** IP="+ ip);
return ip;
}
}
}
} catch (SocketException ex) {
Log.e(TAG, ex.toString());
}
return null;
}

使用 getHostAddress : IP=fe70::75ca:a16d:ea5a:.......

使用 hashCode 和 Formatter 你将获得实际的 IP。

关于java - 如何在android中自动提供设备的IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56964937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com