你的位置:首页 > 软件开发 > 操作系统 > Android之WifiManager

Android之WifiManager

发布时间:2015-10-27 12:00:06
移动设备离不开网络,android平台中在包android.net.wifi下提供了一些类专门用于管理设备的Wifi功能。该包下主要存在如下几个类:1、 ScanResult:主要用来描述通过Wifi硬件扫描获取的周边的wifi热点的信息。包含的字段信息和方法如下图:2、 ...

Android之WifiManager

  移动设备离不开网络android平台中在包android.net.wifi下提供了一些类专门用于管理设备的Wifi功能。该包下主要存在如下几个类:

1、  ScanResult:主要用来描述通过Wifi硬件扫描获取的周边的wifi热点的信息。包含的字段信息和方法如下图:

Android之WifiManager

2、  WifiConfiguration:此类用于描述Wifi网络的配置信息,包括安全配置信息。在该类中提供了如下几个之类,主要用于说明Wifi的加密方式。

Android之WifiManager

  3、  WifiInfo:用于描述已经链接的Wifi的信息,通过如下方法,可以获取相关的信息

getBSSID():获取BSSID,以XX:XX:XX:XX:XX:XX的形式

getDetailedStateOf(SupplicantState suppState):获取网络链接的状态。

getHiddenSSID():SSID是否被隐藏。

getIpAddress():获取IP地址

getLinkSpeed():获取链接的速度

getNetworkId():获取网络编号

getRssi():获取强度。

getSSID():获取SSID信息

getSupplicantState():获取客户端状态信息

4、  WifiManager:该类主要用来管理Wifi,里面含有许多方法,如下图,具体使用可以查看下面的案例。

Android之WifiManager

Android之WifiManager

下面我们通过一个案例来演示WifiManager的具体使用方法,案例界面效果如下图:

 Android之WifiManager

Activity代码如下

//获取WifiManagerwifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);/** * 扫描网络 * @param v */public void netScan(View v){  //启动扫描  wifiManager.startScan();  //获取扫描结果  List<ScanResult> mData= wifiManager.getScanResults();  ScanReslutAdapter adapter = new ScanReslutAdapter(mData);  listView.setAdapter(adapter);}/** * 打开网络 * @param v */public void openNet(View v){  if(!wifiManager.isWifiEnabled()){    wifiManager.setWifiEnabled(true);  }}/** * 关闭网络 * @param v */public void closeNet(View v){  if(wifiManager.isWifiEnabled()){    wifiManager.setWifiEnabled(false);  }}/** * 获取网络状态 * @param v */public void getNetState(View v){  int state= wifiManager.getWifiState();  String stateStr = "";  switch (state){    case WifiManager.WIFI_STATE_DISABLED:      stateStr="DISABLED";      break;    case WifiManager.WIFI_STATE_DISABLING:      stateStr="DISABLING";      break;    case WifiManager.WIFI_STATE_ENABLED:      stateStr="ENABLED";      break;    case WifiManager.WIFI_STATE_ENABLING:      stateStr="ENABLING";      break;  }  netState.setText("网络状态:"+stateStr);}/** * 监控Wifi信号的强度 * @param v */public void monitorSignal(View v){  //获取当前Wifi的链接信息  WifiInfo wifiInfo= wifiManager.getConnectionInfo();  //获取信号强度  int level = wifiInfo.getRssi();  //获得信号强度值  level = wifiInfo.getRssi();  //根据获得的信号强度发送信息  String levelStr="无信号";  if (level <= 0 && level >= -50) {    levelStr="信号最好";  } else if (level < -50 && level >= -70) {    levelStr="信号较好";  } else if (level < -70 && level >= -80) {    levelStr="信号一般";  } else if (level < -80 && level >= -100) {    levelStr="信号差";  }  netInfo.setText("信号强度:"+levelStr);}
 

原标题:Android之WifiManager

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录