Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息,android高级面试题及答案

本文介绍了Android中如何获取WiFi连接的相关信息,包括SSID、BSSID、IP地址、信号强度等,并提供了示例代码展示如何获取当前连接的WiFi信息以及搜索到的设备列表。此外,还提及了WiFiManager中的calculateSignalLevel方法用于计算信号级别。
摘要由CSDN通过智能技术生成

WifiInfo中包含了当前连接中的相关信息。

getBSSID() 获取BSSID属性

getDetailedStateOf() 获取客户端的连通性

getHiddenSSID() 获取SSID 是否被隐藏

getIpAddress() 获取IP 地址

getLinkSpeed() 获取连接的速度

getMacAddress() 获取Mac 地址

getRssi() 获取802.11n 网络的信号

getSSID() 获取SSID

getSupplicanState() 获取具体客户端状态的信息

六、示例

====

1)获得WifiManager

WifiManager wifiManager=(WifiManager) getSystemService(WIFI_SERVICE);

2)获取Wifi信息

WifiInfo wifiInfo=wifiManager.getConnectionInfo(); //当前wifi连接信息

List scanResults=wifiManager.getScanResults();//搜索到的设备列表

for (ScanResult scanResult : scanResults) {

tv.append("\n设备名:"+scanResult.SSID

+" 信号强度:"+scanResult.level+"/n :"+wifiManager.calculateSignalLevel(scanResult.level,4));

}

附 WifiManager中计算级别的代码:

/**

  • Calculates the level of the signal. This should be used any time a signal

  • is being shown.

  • @param rssi The power of the signal measured in RSSI.

  • @param numLevels The number of levels to consider in the calculated

  •        level.
    
  • @return A level of the signal, given in the range of 0 to numLevels-1

  •     (both inclusive).
    

*/

public static int calculateSignalLevel(int rssi, int numLevels) {

if (rssi <= MIN_RSSI) {

return 0;

} else if (rssi >= MAX_RSSI) {

return numLevels - 1;

} else {

int partitionSiz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值