Проблема с Wi-Fi на Android Samsung

возникает странная проблема при попытке программно получить доступную точку доступа Wi-Fi, так что мой тестовый код:

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, Samsung Nexus, Motorola Nexus, Xiaomi и т. д., я получаю правильный список точек доступа Wi-Fi. Например, журнал возвращаемого списка:

[SSID: WomenHealth, BSSID: 08:60:6e:e9:0b:06, возможности: [WPA-PSK-CCMP][WPA2-PSK-CCMP], уровень: -56, частота: 2422, SSID: Petcube Asus 5 ГГц, 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: retina, 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]

Но когда я пытаюсь протестировать тот же код на устройстве Samsung с версией Android выше 4.0 (Samsung S4, Samsung S5, Samsung Note2, Samsung Note 3), список точек доступа возвращается без SSID и BSSID. Например, журнал возвращенного списка в том же месте:

[, возможности: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], уровень: -73, частота: 2412, метка времени: 1023129814266, расстояние: ?(см), расстояние Sd: ?( см), , возможности: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], уровень: -47, частота: 2437, метка времени: 1023129814312, расстояние: ?(см), расстояниеSd: ?(см), , возможности: [WPA2-PSK-CCMP][ESS], уровень: -56, частота: 2437, метка времени: 1023129814284, расстояние: ?(см), DistanceSd: ?(см), , возможности: [ WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], уровень: -59, частота: 2437, отметка времени: 1023129814275, расстояние: ?(см), DistanceSd: ?(см), , возможности : [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS], уровень: -60, частота: 2412, отметка времени: 1023129814255, расстояние: ?(см), расстояние Sd: ?(см), , возможности: [ WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], уровень: -63, частота: 2462, отметка времени: 1023129814332, расстояние: ?(см), DistanceSd: ?(см), , возможности : [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], уровень: -61, частота: 2462 , метка времени: 1023129814323, расстояние: ?(см), DistanceSd: ?(см), , возможности: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], уровень: -65, частота : 5560, отметка времени: 1023129814360, расстояние: ?(см), DistanceSd: ?(см), , возможности: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], уровень: -66 , частота: 5745, отметка времени: 1023129814368, расстояние: ?(см), DistanceSd: ?(см), , возможности: [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS], уровень: -73, частота : 5180, отметка времени: 1023129814350, расстояние: ?(см), расстояние Sd: ?(см), , возможности: [ESS], уровень: -55, частота: 2412, отметка времени: 1023129814242, расстояние: ?(см), расстояние Sd: ?(см), , возможности: [WPS][ESS], уровень: -92, частота: 2462, отметка времени: 1023129814341, расстояние: ?(см), DistanceSd: ?(см)]

Есть ли у кого-нибудь опыт решения этой проблемы? Я пытаюсь связаться со службой поддержки Samsung, но они не дали мне ответа. поиск гугл тоже не помогает


person once2go    schedule 20.02.2015    source источник
comment
Взгляните на некоторые документы, вероятно, тот же самый код теперь изменился для последних версий SDK.   -  person Kurdish Droid    schedule 02.03.2015
comment
Что вы имеете в виду Android SDK или Samsung SDK? Вероятно, Samsung не дала мне никаких объяснений по поводу этой проблемы, и на форуме разработчиков Samsung developer.samsung.com/forum/board/thread/ например некоторые об этом не знают. Это грустно   -  person once2go    schedule 02.03.2015
comment
у samsung нет SDK, у них есть копия Android, и они ставят на ней свое имя... используйте Android sdk, если вы еще этого не сделали... найдите функции, которые вы используете, на веб-сайте Android и посмотрите, как реализовать, я гарантирую вы делаете это неправильно, так как он изменился. в   -  person Kurdish Droid    schedule 02.03.2015
comment
вы уверены?)) developer.samsung.com/sdk-and-tools что это? SDK и инструменты   -  person once2go    schedule 02.03.2015


Ответы (1)


Я делаю почти то же самое с Galaxy S5 с Android 5.0 (леденец на палочке), и я правильно вижу SSID и BSSID, я также получаю информацию о времени, расстоянии и расстоянииSd, попробуйте этот код, который работает для меня.

WifiManager wifim;
List<ScanResult>results=wifim.getScanResults();
    for (ScanResult result:results){
        text.append("\n\n_____Wifi Scan results:_____\n\n"+result.toString());
    }

Я просто предполагаю, что Wi-Fi включен, поэтому, если это не так, я думаю, вы получите сообщение об ошибке, но еще одна строка кода должна это исправить.

person pier    schedule 08.04.2015
comment
Да, на Samsung › 5.0 работает, большинство из них, но на 4.4 проблема остается - person once2go; 16.07.2016