当前位置:首页 > 开发 > 移动开发 > 正文

手机网络环境相关的代码

发表于: 2013-07-05   作者:44289533   来源:转载   浏览:
摘要: 获取本机IP、MAC,判断网络是否可用,获取wifi状态 public class NetworkUtil { /** * 获取本机IP * * @return */ public static String getIpAddress() { try { Enumeration<NetworkInterface> enume
获取本机IP、MAC,判断网络是否可用,获取wifi状态


public class NetworkUtil {

	/**
	 * 获取本机IP
	 * 
	 * @return
	 */
	public static String getIpAddress() {
		try {
			Enumeration<NetworkInterface> enumeration = NetworkInterface
					.getNetworkInterfaces();
			while (enumeration.hasMoreElements()) {
				NetworkInterface nextElement = enumeration.nextElement();
				Enumeration<InetAddress> enIp = nextElement.getInetAddresses();
				while (enIp.hasMoreElements()) {
					InetAddress ipaddress = enIp.nextElement();
					if (!ipaddress.isLoopbackAddress()) {
						return ipaddress.getHostAddress().toString();
					}
				}
			}
		} catch (SocketException e) {
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * 判断网络是否可用
	 * 
	 * @param context
	 * @return
	 */
	public static boolean isConnect(Context context) {
		// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
		try {
			ConnectivityManager connectivity = (ConnectivityManager) context
					.getSystemService(Context.CONNECTIVITY_SERVICE);
			if (connectivity != null) {
				// 获取网络连接管理的对象
				NetworkInfo info = connectivity.getActiveNetworkInfo();
				if (info != null && info.isConnected()) {
					// 判断当前网络是否已经连接
					if (info.getState() == NetworkInfo.State.CONNECTED) {
						return true;
					}
				}
			}
		} catch (Exception e) {
			Log.v("====", e.toString());
		}
		return false;
	}

	/**
	 * 获取本机MAC地址
	 * 
	 * @param ctx
	 * @return
	 */
	public static String getMacAddress(Context ctx) {
		WifiManager wfMgr = (WifiManager) ctx
				.getSystemService(Context.WIFI_SERVICE);
		WifiInfo info = wfMgr.getConnectionInfo();
		return info.getMacAddress();
	}

	/**
	 * 获取wifi状态
	 * 
	 * @param ctx
	 * @return
	 */
	public static String getNetWorkStatus(Context ctx) {
		WifiManager wfMgr = (WifiManager) ctx
				.getSystemService(Context.WIFI_SERVICE);
		int state = wfMgr.getWifiState();
		String status = null;
		switch (state) {
		case WifiManager.WIFI_STATE_DISABLED:
			status = "使用不可(DISABLED)";
			break;
		case WifiManager.WIFI_STATE_DISABLING:
			status = "停止中(DISABLING)";
			break;
		case WifiManager.WIFI_STATE_ENABLED:
			status = "使用可(ENABLED)";
			break;
		case WifiManager.WIFI_STATE_ENABLING:
			status = "起動中(ENABLING)";
			break;
		case WifiManager.WIFI_STATE_UNKNOWN:
			status = "未知(UNKNOWN)";
			break;
		}
		WifiInfo info = wfMgr.getConnectionInfo();
		status += " AP MAC(" + info.getBSSID() + ") DBM値(" + info.getRssi()
				+ ")";
		return status;
	}

}

 

手机网络环境相关的代码

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
编辑推荐
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号