Мобильный IP-адрес, возвращаемый из приложения Android, отличается от указанного в настройках телефона.
Я попытался использовать следующий пример кода для считывания IP-адреса, назначенного из мобильной сети для телефона Android (под управлением Android 7), подключенного только к мобильной сети. Приложение Android возвращает 10.130.151.51, но IP-адрес, найденный в меню телефона, составляет 49.130.28.201.
Кто-нибудь знает, почему и как я могу получить правильный?
public String Get_Mobile_IP(){
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkinterfaces();
en.hasMoreElements();) {
NetworkInterface networkinterface = en.nextElement();
for (Enumeration<InetAddress> en_IP = networkinterface.getInetAddresses(); en__IP.hasMoreElements();) {
InetAddress mobile_IPaddr = en_IP.nextElement();
if (!mobile_IPaddr.isLoopbackAddress() && mobile_IPaddr instanceof Inet4Address) {
return mobileIPAddr.getHostAddress();
}
}
}
} catch (Exception ex) {
}
return null;
}