Android中wifi管理器WifiManager使用方法

wifi作为手机的重要模块,我们开发中免不了要和它打交道。比如,我们有时候要和wifi进行交互,那我们一定要知道连接的wifi是不是我们要的那个wifi,这时候就需要知道wifi的名字,即SSID。或者有时候我们需要获取手机保存的wifi网络。这些操作都离不开我们的wifi管理器。

1.WifiManager的常用方法

  • isWifiEnabled:判断WLAN功能是否开启。
  • setWifiEnabled:开启或关闭WLAN功能。
  • getWifiState:获取当前的WiFi连接状态。WiFi连接状态的取值见下表
WifiManager类的连接状态说明
WIFI_STATE_DISABLED已断开WiFi
WIFI_STATE_DISABLING正在断开WiFi
WIFI_STATE_ENABLED已连上WiFi
WIFI_STATE_ENABLING正在连接WiFi
WIFI_STATE_UNKNOWN连接状态未知
  • getConnectionInfo:获取当前WiFi的连接信息。该方法返回一个WifiInfo对象,通过该对象的各个方法可获得更具体的WiFi设备信息。下表是WifiInfo的相关主要方法。
方法说明
getSSIDWiFi路由器MAC
getRssiWiFi信号强度
getLinkSpeed连接速率
getNetworkIdWiFi的网络编号
getIpAddress手机的IP地址。整型数,需转换为常见的IPv4地址。
getMacAddress手机的MAC地址。
  • startScan:开始扫描周围的WiFi信息。
  • getScanResults:获取WiFi的扫描结果。
  • calculateSignalLevel:根据信号强度计算信号等级。
  • getConfiguredNetworks:获取已配置的网络信息。
  • addNetwork:添加指定的WiFi连接。
  • enableNetwork:启用指定的WiFi连接。第二个参数表示是否同时禁用其他WiFi。
  • disableNetwork:禁用指定的WiFi连接。
  • disconnect:断开当前的WiFi连接。

2.获取当前连接WIFI的SSID示例

WifiManager wifiManager = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE));
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String wifiName = wifiInfo.getSSID();

3.注意事项

我们要操作wifi管理器,必须要获取到定位权限。首先是清单文件中

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>

当然,定位的动态权限也是需要加上的。如何申请动态权限我这里就不重复了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值