最近在做wifi的相关的东西,打印WifiInfo的时候 无意间发现一个参数,改参数可以查看是否连接成功了指定wifi,但是这是隐藏的,遂将其反射之。代码如下:
//通过反射的方式去判断wifi是否已经连接上,并且可以开始传输数据 private boolean checkWiFiConnectSuccess(WifiInfo wifiInfo) { Class classType = wifiInfo.getClass(); try { Field field = classType.getDeclaredField("mMeteredHint");//设置为可以访问 field.setAccessible(true); boolean result = (boolean) field.get(wifiInfo); return result; } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return false; }