Ich habe nicht die richtige Lösung gefunden. Der folgende Code gibt mir lokale IP-Adresse (wenn ich an Wifi angeschlossen habe, gibt es IP-Adresse wie 192.168.0.x), aber ich möchte öffentliche IP-Adresse (das gleiche wie wenn ich in Google "was ist meine IP")Wie programmgesteuert eine öffentliche IP-Adresse erhalten?
suchenpublic 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;
}
ODER
WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);
String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());
Kann jemand helfen? Vielen Dank!
Mögliche Duplikate von [Wie bekomme ich IP-Adresse des Geräts von Code?] (Https: // stackoverflow.com/questions/6064510/how-to-get-IP-Adresse-des-Geräts-aus-Code) –