Android连续获取当前所连接WiFi及周围热点列表信息的解决方案

基础知识:

Android的wifi信息获取先要自学相关基础知识,下面是相关基础知识。

获取系统wifi服务

// 获取系统wifi服务
WifiManage wm = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
// 获取当前所连接wifi的信息
WifiInfo wi = wm.getConnectionInfo();
// 获取扫描到的所有wifi信息
List<ScanResult> scanResults = wm.getScanResults();

获取wifi信息的各种方法及异同

这里只简略地提及WifiManage, WifiInfo, ScanResult 这三个类的一些方法,如果非常感兴趣可以去安卓社区看看。废话不多说,Here we go!

WifiManage类wifi信息获取方法

wm.getConnectionInfo(); // 获取当前连接信息
wm.getWifiState();      // 获取当前手机wifi网卡状态
wm.getScanResults();    // 获取扫描到的wifi信息列表(返回类型是链表)

  • 手机wifi网卡状态分五种情况
wifi网卡状态 详细说明
WifiManager.WIFI_STATE_ENABLED wifi网卡可用
WifiManager.WIFI_STATE_DISABLED wifi网卡不可用
WifiManager.WIFI_STATE_DISABLING wifi网卡正关闭
WifiManager.WIFI_STATE_ENABLING wifi网卡正打开
WifiManager.WIFI_STATE_UNKNOWN 状态未知
  • 对应手机要开的权限如下:
权限代码 详细说明
ACCESS_WIFI_STATE 允许程序获得wifi的状态信息
INTERNET 允许程序获得手机网络权限
CHANGE_NETWORK_STATE 允许应用程序改变wifi连接状态

WifiInfo类方法

wi.getSSID();        // 获取当前连接wifi的名词
wi.getBSSID();       // 获取路由器Mac地址,String类型
wi.getMacAddress();  // 获取本机Mac地址
wi.getRssi();        // 获取当前连接wifi的信号强度
wi.getLinkSpeed();   // 获取连接速度

WifiInfo.LINK_SPEED_UNITS; // 连接速度单位

wi.getRssi()获取的就是所连接wifi的RSSI1

ScanResult类方法

scanResult.SSID();
scanResult.BSSID();
scanResult.level();    // 信号强度(原始数据)

Wif
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值