Java tutorial
//package com.java2s; //License from project: GNU General Public License import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.ArrayList; import java.util.Enumeration; import android.util.Log; import java.util.regex.Pattern; public class Main { private static final Pattern IPV4_PATTERN = Pattern .compile("^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$"); /** * Get all device ip addresses * @return {@link array} */ public static String[] getLocalIpAddress() { ArrayList<String> addresses = new ArrayList<String>(); 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()) { //IPAddresses.setText(inetAddress.getHostAddress().toString()); boolean isIPv4 = isIPv4Address(inetAddress.getHostAddress().toString()); if (isIPv4) { addresses.add(inetAddress.getHostAddress().toString()); } } } } } catch (SocketException ex) { String LOG_TAG = null; Log.e(LOG_TAG, ex.toString()); } return addresses.toArray(new String[0]); } public static boolean isIPv4Address(final String input) { return IPV4_PATTERN.matcher(input).matches(); } }