Instance
The code is as follows |
Copy Code |
Public String getlocalipaddress () { 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 ("Ifo", ex.tostring ()); } Return ""; } Public String getlocalmacaddress (context context) { Wifimanager WiFi = (wifimanager) context . Getsys Temservice (Context.wifi_service); Wifiinfo info = wifi.getconnectioninfo (); return info.getmacaddress (); } |
The Android 4.0 system's phone, by default, will get the IPv6 address first, sometimes we just want IPv4 address.
The code is as follows |
Copy Code |
/** * The source IP address assigned by PDSN to the handset terminal when it is used to obtain dial-up Internet access (including Ctwap and ctnet). * * @return * @author Shanhy */ public static String Getpsdnip () { 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 () && inetaddress instanceof inet4address) { if (!inetaddress.isloopbackaddress () && inetaddress instanceof inet6address) { Return inetaddress.gethostaddress (). toString (); } } } catch (Exception e) { } Return ""; } |