List<ScanResult> wifiList;
wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) wifiManager.setWifiEnabled(true);
wifiManager.startScan();
wifiList = wifiManager.getScanResults();
Log.e("AP LIST", wifiList.toString());
当我用于LG-L90,三星Nexus,摩托罗拉Nexus,小米等测试设备时,我会得到一个正确的wifi接入点列表。例如,返回列表的日志:
[ SSID:WomenHealth,BSSID:08:60:6e:e9:0b:06,功能: [WPA-PSK-CCMP] [WPA2-PSK-CCMP],级别:-56,频率:2422,SSID: Petcube Asus 5 GHz,BSSID:78:24:af:97:b1:6c,功能: [WPA2-PSK-CCMP],等级:-62,频率:5230,SSID:Petcube Asus, BSSID:78:24:af:97:b1:68,能力:[WPA2-PSK-CCMP] [WPS],等级: -64,频率:2437,SSID:Petcube Guest,BSSID:78:24:af:97:b1:69,能力:[WPA2-PSK-CCMP],等级:-65,频率:2437,SSID: MERP_Guest,BSSID:ce:d3:a3:98:e3:41,功能: [WPA-PSK-TKIP + CCMP] [WPA2-PSK-TKIP + CCMP],级别:-66,频率:2437, SSID:MERP,BSSID:d2:d3:a3:98:e3:41,功能: [WPA-PSK-TKIP + CCMP] [WPA2-PSK-TKIP + CCMP],级别:-66,频率:2437, SSID:视网膜,BSSID:68:a8:6d:65:4b:e7,能力:[WPA2-PSK-CCMP], 级别:-66,频率:2462,SSID:WomenHealth_5GHz,BSSID: 08:60:6e:e9:0b:07,功能:[WPA2-PSK-CCMP],等级:-73, 频率:5190,SSID:Aurocraft,BSSID:84:c9:b2:6a:73:f5, 能力:[WPA-PSK-TKIP + CCMP] [WPA2-PSK-TKIP + CCMP] [WPS],级别: -76,频率:2412,SSID:EURO_RSCG,BSSID:c4:6e:1f:49:33:28,能力:[WPA-PSK-TKIP + CCMP] [WPA2-PSK-TKIP + CCMP] [WPS],等级: -77,频率:2427,SSID:Aurocraft5GHz,BSSID:84:c9:b2:6a:73:f7,能力:[WPA-PSK-TKIP + CCMP] [WPA2-PSK-TKIP + CCMP] [WPS],等级: -79,频率:5200,SSID:Fcolection,BSSID:64:70:02:46:c2:ee,能力:[WPA-PSK-TKIP + CCMP] [WPA2-PSK-TKIP + CCMP] [WPS],等级: -81,频率:2442,SSID:Petcube TP-LINK,BSSID:e8:94:f6:03:bd:ea,能力:[WPA-PSK-TKIP + CCMP] [WPA2-PSK-TKIP + CCMP] [WPS ],等级: -65,频率:2462,SSID:ExperienceSpa,BSSID:00:1c:a8:48:d3:97,能力:[WPA-PSK-TKIP] [WPA2-PSK-CCMP],级别:-91,频率: 2462,SSID:FC,BSSID:1c:bd:b9:b8:7f:4a,功能: [WPA2-PSK-CCMP] [WPS],等级:-93,频率:2462]
但是当我尝试在Android版本超过4.0(三星S4,三星S5,三星Note2,三星Note 3)的三星设备上测试相同的代码时,接入点列表没有SSID和BSSID。例如,返回列表的日志在同一个地方:
[,能力:[WPA-PSK-CCMP + TKIP] [WPA2-PSK-CCMP + TKIP] [ESS],级别: -73,频率:2412,时间戳:1023129814266,距离:?(cm),distanceSd:?(cm),,功能: [WPA-PSK-CCMP + TKIP] [WPA2-PSK-CCMP + TKIP] [ESS],级别:-47,频率: 2437,时间戳:1023129814312,距离:?(cm),distanceSd:?(cm),, 能力:[WPA2-PSK-CCMP] [ESS],等级:-56,频率:2437, 时间戳:1023129814284,距离:?(cm),distanceSd:?(cm),, 能力:[WPA-PSK-CCMP + TKIP] [WPA2-PSK-CCMP + TKIP] [ESS],级别: -59,频率:2437,时间戳:1023129814275,距离:?(cm),distanceSd:?(cm),,功能:[WPA-PSK-CCMP] [WPA2-PSK-CCMP] [ESS], 级别:-60,频率:2412,时间戳:1023129814255,距离: ?(cm),distanceSd:?(cm),,,功能: [WPA-PSK-CCMP + TKIP] [WPA2-PSK-CCMP + TKIP] [ESS],级别:-63,频率: 2462,时间戳:1023129814332,距离:?(cm),distanceSd:?(cm),, 能力:[WPA-PSK-CCMP + TKIP] [WPA2-PSK-CCMP + TKIP] [ESS],级别: -61,频率:2462,时间戳:1023129814323,距离:?(cm),distanceSd:?(cm),,功能: [WPA-PSK-CCMP + TKIP] [WPA2-PSK-CCMP + TKIP] [ESS],级别:-65,频率: 5560,时间戳:1023129814360,距离:?(cm),distanceSd:?(cm),, 能力:[WPA-PSK-CCMP + TKIP] [WPA2-PSK-CCMP + TKIP] [ESS],级别: -66,频率:5745,时间戳:1023129814368,距离:?(cm),distanceSd:?(cm),,功能:[WPA-PSK-CCMP] [WPA2-PSK-CCMP] [ESS], 级别:-73,频率:5180,时间戳:1023129814350,距离: ?(cm),distanceSd:?(cm),,,能力:[ESS],等级:-55, 频率:2412,时间戳:1023129814242,距离:?(cm), distanceSd:?(cm),,功能:[WPS] [ESS],级别:-92,频率: 2462,时间戳:1023129814341,距离:?(cm),distanceSd:?(cm)]
有任何一些经验可以解决这个问题吗?我尝试与三星支持沟通,但他们没有给我答案。谷歌搜索也没有帮助
答案 0 :(得分:0)
我用Android 5.0(棒棒糖)做了几乎相同的Galaxy S5,我可以正确看到SSID和BSSID,我也得到时间戳,距离和距离信息,试试这个代码对我有用。
WifiManager wifim;
List<ScanResult>results=wifim.getScanResults();
for (ScanResult result:results){
text.append("\n\n_____Wifi Scan results:_____\n\n"+result.toString());
}
我只是假设wifi已开启,所以如果它不是,那么我猜你会得到一个错误,但是还有一行代码可以解决这个问题。