Android机顶盒 获取当前连接网络的Ip地址

private String getLocalIPAddress() throws SocketException{ 
	    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)){ 
	                return inetAddress.getHostAddress().toString(); 
	            } 
	        } 
	    } 
	    return "null"; 
	}


获取当前连接网络的类型

public static NetState getCurrentNetWorkState(){
		ConnectivityManager mConnManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo mInfo = mConnManager.getActiveNetworkInfo();
		if(null == mInfo)
			return NetState.NULL;
		Log.e("ddd-------------", mInfo.getTypeName());
		if (mInfo.isAvailable() && mInfo.isConnected()&& mInfo.getTypeName().equals("WIFI")) 
			return NetState.WIFI;
		else if(mInfo.isAvailable() && mInfo.isConnected()&& mInfo.getTypeName().equals("ETHERNET"))// ETHERNET
			return NetState.ETH;
		return NetState.NULL;
	}


NetState是自己定义的枚举类型

public enum NetState{ NULL,WIFI,ETH }



你可能感兴趣的:(android)