android IP取得

1022 ワード

[b]注:この方法はUIスレッドでは実行できません[/b]
private String getIP() {
String ipstr = "";
try {
Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements())
{
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces
.nextElement();
Enumeration addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
ip = (InetAddress) addresses.nextElement();
if (ip != null && ip instanceof Inet4Address) {
String s = ip.getHostAddress();
if (!s.equals("127.0.0.1")) {
ipstr = s;
break;
}
}
}
if(ipstr.length()>0){
break;
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return ipstr;
}