获取本机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; } }
手机网络环境相关的代码
猜你喜欢
转载自44289533.iteye.com/blog/1899911
今日推荐
周排行