올바른 해결책을 찾지 못했습니다. 아래 코드는 로컬 IP 주소를 제공합니다 (Wi-Fi에 연결 한 경우 192.168.0.x와 같은 IP 주소를 제공함). 공개 IP 주소를 입력하십시오. "내 IP가 무엇인지"Google에서 검색하는 것과 같습니다.프로그래밍 방식으로 공용 IP 주소를 가져 오는 방법은 무엇입니까?
public static 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() && inetAddress instanceof Inet4Address) {
return inetAddress.getHostAddress();
}
}
}
} catch (SocketException ex) {
ex.printStackTrace();
}
return null;
}
또는
WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);
String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());
사람이 도와 드릴까요? 감사!
[코드에서 장치의 IP 주소를 얻는 방법?] (https : // stackoverflow.com/questions/6064510/how-to-get-ip-device-from-code) –