Android三星wifi问题

时间:2015-02-20 10:34:19

标签: android android-wifi samsung-mobile-sdk

当尝试以编程方式获得可用的wifi接入点时,有一个奇怪的问题,所以这是我的测试代码:

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)]

有任何一些经验可以解决这个问题吗?我尝试与三星支持沟通,但他们没有给我答案。谷歌搜索也没有帮助

1 个答案:

答案 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已开启,所以如果它不是,那么我猜你会得到一个错误,但是还有一行代码可以解决这个问题。