android wifi 信息
Posted 清风已逝_晚风如故
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android wifi 信息相关的知识,希望对你有一定的参考价值。
在androi中WIFI信息的获取可以通过系统提供的WIFI Service获取
WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifi_service.getConnectionInfo(); 获取正在连接着的wifi的WifiInfo
其中WifiInfo 中比较常用的信息有:
info.getBSSID(); 获取BSSID地址。
info.getSSID(); 获取SSID地址。 需要连接网络的ID
info.getIpAddress(); 获取IP地址。4字节Int, XXX.XXX.XXX.XXX 每个XXX为一个字节
info.getMacAddress(); 获取MAC地址。
info.getNetworkId(); 获取网络ID。
info.getLinkSpeed(); 获取连接速度,可以让用户获知这一信息。
info.getRssi(); 获取RSSI,RSSI就是接受信号强度指示
通过接收系统的广播,获取当前WIFI的状态
WifiManager.WIFI_STATE_DISABLING 正在停止
WifiManager.WIFI_STATE_DISABLED 已停止
WifiManager.WIFI_STATE_ENABLING 正在打开
WifiManager.WIFI_STATE_ENABLED 已开启
WifiManager.WIFI_STATE_UNKNOWN 未知
对wifi进行操作需要添加的权限(可选择,不知道怎么选择就全部加上)
- <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
扫描周围的wifi,获取信息:
WifiManager wifiManager= (WifiManager) getSystemService(WIFI_SERVICE); //获取wifi管理器
boolean b=wifiManager.startScan(); //开始扫描 返回boolean值判断
List<ScanResult> list=wifiManager.getScanResults(); // 获取扫描到的wifi信息存放在 List<ScanResult>
for(int i=0;i<list.size();i++){
ScanResult scanResult=list.get(i);
String ssid=scanResult.SSID; //SSID地址
String bssid=scanResult.BSSID; //BSSID地址
int level=scanResult.level; //信号强度等级
}
publicString |
BSSID
访问点的地址。 |
publicString |
SSID
网络名称。 |
publicString |
capabilities
描述了身份验证、密钥管理和访问点支持的加密方案。 |
public int |
centerFreq0
不习惯如果美联社20 MHz带宽是美联社使用40,80或160兆赫,这是中心频率(MHz)如果美联社用80 + 80兆赫,这是第一部分的中心频率(MHz) |
public int |
centerFreq1
只使用如果美联社带宽是80 + 80 MHz如果美联社用80 + 80 MHz,这是第二段的中心频率(MHz) |
public int |
channelWidth
美联社通道带宽;之一 |
public int |
frequency
主20 MHz的频率(MHz)的渠道客户交流访问点。 |
public int |
level
dBm的检测信号电平,也被称为RSSI。 |
publicCharSequence |
operatorFriendlyName
表明passpoint运营商发布的接入点名称。 |
public long |
timestamp
时间戳在微秒(因为)这个结果最后被看见。 |
publicCharSequence |
venueName
表示地点名称(如“旧金山机场”)发布的接入点;只有passpoint网络如果发表的接入点。 |
以上是关于android wifi 信息的主要内容,如果未能解决你的问题,请参考以下文章
Android开发,怎么在代码里获得当前连接wifi的端口号?
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情