/*** Get IP * *@paramContext *@return */ Public Staticstring GetIP (Context context) {string IP= "0.0.0.0"; Connectivitymanager Connectivitymanager=(Connectivitymanager) context. Getsystemservice (Context.connectivity_service); Networkinfo Info=Connectivitymanager.getactivenetworkinfo (); intType =Info.gettype (); if(Type = =connectivitymanager.type_ethernet) {IP=Getethernetip (); } Else if(Type = =Connectivitymanager.type_wifi) {IP=Deviceiputil.getdeviceip (context); } returnIP; } /*** Get a wired address * *@return */ Public StaticString Getethernetip () {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 ()&& inetaddressinstanceofinet4address) { returninetaddress.gethostaddress (). toString (); } } } } Catch(SocketException ex) {LOG.E ("Wifipreference IpAddress", ex.tostring ()); } return"0.0.0.0"; } /*** Get WIFIIP address * *@paramContext *@return */ Public StaticString GETWIFIIP (context context) {Android.net.wifi.WifiManager WiFi=(Android.net.wifi.WifiManager) context. Getsystemservice (Android.content.Context.WIFI_SERVICE); Wifiinfo Wifiinfo=Wifi.getconnectioninfo (); intINTADDR =wifiinfo.getipaddress (); byte[] byteaddr =New byte[] { (byte) (Intaddr & 0xFF), (byte) (Intaddr >> 8 & 0xff), (byte) (Intaddr >> & 0xFF), (byte) (Intaddr >> & 0xFF) }; InetAddress Addr=NULL; Try{addr=inetaddress.getbyaddress (BYTEADDR); } Catch(Exception E1) {e1.printstacktrace (); } String Mobileip=addr.gethostaddress (); returnMobileip; }
Android gets a wired and wireless (WiFi) IP address