Cómo obtener la dirección IP de un android móvil programatically …?
Quiero la dirección IP exacta del dispositivo Android cuando se conectará a una red a través de wifi! cualquiera puede ayudarme cómo obtener la dirección IP, mientras que el móvil está conectado a una red y cómo obtener la dirección a través de pro-gramatical ..
¡Utilicé esto y workd!
WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE); String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());
Debajo permisos en el archivo de manifiesto.
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
Puede utilizar este método para obtener la dirección IP del dispositivo true true para IPv4 y false para IPv6
public static String getIPAddress(boolean useIPv4) { try { List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces()); for (NetworkInterface intf : interfaces) { List<InetAddress> addrs = Collections.list(intf.getInetAddresses()); for (InetAddress addr : addrs) { if (!addr.isLoopbackAddress()) { String sAddr = addr.getHostAddress(); //boolean isIPv4 = InetAddressUtils.isIPv4Address(sAddr); boolean isIPv4 = sAddr.indexOf(':')<0; if (useIPv4) { if (isIPv4) return sAddr; } else { if (!isIPv4) { int delim = sAddr.indexOf('%'); // drop ip6 zone suffix return delim<0 ? sAddr.toUpperCase() : sAddr.substring(0, delim).toUpperCase(); } } } } } } catch (Exception ex) { } // for now eat exceptions return ""; }
Gracias a este ans ¿Cómo obtener la dirección IP del dispositivo?