1. 利用Android下的WifiManager获取可见的SSID
WifiManager wifiMg = (WifiManager)act.getSystemService(act.WIFI_SERVICE);
List<ScanResult> list = wifiMg.getScanResults();
然后对ScanResult里的每个值进行枚举,ScanResult里的是一个level,需要进行转换
全部代码如下:
public static void CheckTimes(final Activity act)
{
try {
WifiManager wifiMg = (WifiManager)act.getSystemService(act.WIFI_SERVICE);
List<ScanResult> list = wifiMg.getScanResults();
if (list != null) {
Log.d(TAG_LOG, "list size : " + list.size());
if (list != null) {
for (ScanResult scanResult : list) {
int nSigLevel = WifiManager.calculateSignalLevel(
scanResult.level, 100);
Log.d(TAG_LOG, "SSID:" + scanResult.SSID + " 强度:"
+ scanResult.level + "-" + nSigLevel);
}
}
WifiInfo wifiInfo = wifiMg.getConnectionInfo();
int nWSig = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), 100);
Log.d(TAG_LOG, "new SSID : " + wifiInfo.getSSID() + " signal strength : "+wifiInfo.getRssi() + " 强度:" + nWSig);
}else
{
Log.d(TAG_LOG, "list is null");
}
} catch (Exception e) {
e.printStackTrace();
}
}