首页 > 代码库 > android wifi 信息

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进行操作需要添加的权限(可选择,不知道怎么选择就全部加上)

  1. <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>      
  2. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>      
  3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>      
  4. <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

美联社通道带宽;之一 CHANNEL_WIDTH_20MHZ, CHANNEL_WIDTH_40MHZ, CHANNEL_WIDTH_80MHZ, CHANNEL_WIDTH_160MHZCHANNEL_WIDTH_80MHZ_PLUS_MHZ.

public int frequency

主20 MHz的频率(MHz)的渠道客户交流访问点。

public int level

dBm的检测信号电平,也被称为RSSI。

publicCharSequence operatorFriendlyName

表明passpoint运营商发布的接入点名称。

public long timestamp

时间戳在微秒(因为)这个结果最后被看见。

publicCharSequence venueName

表示地点名称(如“旧金山机场”)发布的接入点;只有passpoint网络如果发表的接入点。



android wifi 信息