admin管理员组

文章数量:1542716

基础知识:

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

本文标签: 热点解决方案列表信息android