Я не слишком уверен, как можно получить внешний IP-адрес машины, поскольку компьютер за пределами сети увидит его.
Мой следующий класс IPAddress получает только локальный IP-адрес устройства.
public class IPAddress {
private InetAddress thisIp;
private String thisIpAddress;
private void setIpAdd() {
try {
InetAddress thisIp = InetAddress.getLocalHost();
thisIpAddress = thisIp.getHostAddress().toString();
} catch (Exception e) {
}
}
protected String getIpAddress() {
setIpAdd();
return thisIpAddress;
}
}