2013.1.19———androidローカルipアドレスの取得
1646 ワード
2013.1.19———androidローカルipアドレスの取得
場合によってはipv 4のアドレスしか取得できない場合がありますので、上記の判断に加えて
// ip
public static String getIpForNet() {
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()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e("WifiPreference IpAddress", ex.toString());
}
return null;
}
public static String getIpForWifi(Context context){
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
String ip = Formatter.formatIpAddress(ipAddress);
return ip;
}
場合によってはipv 4のアドレスしか取得できない場合がありますので、上記の判断に加えて
inetAddress instanceof Inet4Address