0

have strange issue when try to get available wifi access point programmatically, so that's my test code:

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());

When i'm use for test device like LG-L90, Samsung Nexus, Motorola Nexus, Xiaomi etc, i'm get a correct list of wifi access point. For example log of returned list:

[SSID: WomenHealth, BSSID: 08:60:6e:e9:0b:06, capabilities: [WPA-PSK-CCMP][WPA2-PSK-CCMP], level: -56, frequency: 2422, SSID: Petcube Asus 5 GHz, BSSID: 78:24:af:97:b1:6c, capabilities: [WPA2-PSK-CCMP], level: -62, frequency: 5230, SSID: Petcube Asus, BSSID: 78:24:af:97:b1:68, capabilities: [WPA2-PSK-CCMP][WPS], level: -64, frequency: 2437, SSID: Petcube Guest, BSSID: 78:24:af:97:b1:69, capabilities: [WPA2-PSK-CCMP], level: -65, frequency: 2437, SSID: MERP_Guest, BSSID: ce:d3:a3:98:e3:41, capabilities: [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP], level: -66, frequency: 2437, SSID: MERP, BSSID: d2:d3:a3:98:e3:41, capabilities: [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP], level: -66, frequency: 2437, SSID: retina, BSSID: 68:a8:6d:65:4b:e7, capabilities: [WPA2-PSK-CCMP], level: -66, frequency: 2462, SSID: WomenHealth_5GHz, BSSID: 08:60:6e:e9:0b:07, capabilities: [WPA2-PSK-CCMP], level: -73, frequency: 5190, SSID: Aurocraft, BSSID: 84:c9:b2:6a:73:f5, capabilities: [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][WPS], level: -76, frequency: 2412, SSID: EURO_RSCG, BSSID: c4:6e:1f:49:33:28, capabilities: [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][WPS], level: -77, frequency: 2427, SSID: Aurocraft5GHz, BSSID: 84:c9:b2:6a:73:f7, capabilities: [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][WPS], level: -79, frequency: 5200, SSID: Fcolection, BSSID: 64:70:02:46:c2:ee, capabilities: [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][WPS], level: -81, frequency: 2442, SSID: Petcube TP-LINK, BSSID: e8:94:f6:03:bd:ea, capabilities: [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][WPS], level: -65, frequency: 2462, SSID: ExperienceSpa, BSSID: 00:1c:a8:48:d3:97, capabilities: [WPA-PSK-TKIP][WPA2-PSK-CCMP], level: -91, frequency: 2462, SSID: FC, BSSID: 1c:bd:b9:b8:7f:4a, capabilities: [WPA2-PSK-CCMP][WPS], level: -93, frequency: 2462]

But when i'm try to test same code on samsung device with Android version more than 4.0(Samsung S4, Samsung S5, Samsung Note2, Samsung Note 3) list of access point returns without SSID and BSSID. For example log of returned list in same place:

[, capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -73, frequency: 2412, timestamp: 1023129814266, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -47, frequency: 2437, timestamp: 1023129814312, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA2-PSK-CCMP][ESS], level: -56, frequency: 2437, timestamp: 1023129814284, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -59, frequency: 2437, timestamp: 1023129814275, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS], level: -60, frequency: 2412, timestamp: 1023129814255, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -63, frequency: 2462, timestamp: 1023129814332, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -61, frequency: 2462, timestamp: 1023129814323, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -65, frequency: 5560, timestamp: 1023129814360, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -66, frequency: 5745, timestamp: 1023129814368, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS], level: -73, frequency: 5180, timestamp: 1023129814350, distance: ?(cm), distanceSd: ?(cm), , capabilities: [ESS], level: -55, frequency: 2412, timestamp: 1023129814242, distance: ?(cm), distanceSd: ?(cm), , capabilities: [WPS][ESS], level: -92, frequency: 2462, timestamp: 1023129814341, distance: ?(cm), distanceSd: ?(cm)]

Have any one some experience to solve this problem? I'm try to communicate with Samsung support but they don't gave me the answer. Google search also don't help

once2go
  • 1,452
  • 1
  • 13
  • 21
  • Have a look at some documentations probably the same code has now changed for latest versions of the SDK. – Kurdish Droid Mar 02 '15 at 12:38
  • What do you mean Android SDK or Samsung SDK? Probably Samsung don't gave me any explanation about this problem, and on samsung developers forum http://developer.samsung.com/forum/board/thread/view.do?boardName=SDK&messageId=278565&startId=zzzzz~&curPage=2 for example some no one know about this. It's sad – once2go Mar 02 '15 at 15:38
  • samsung dont have an SDK, they have a copy of Androids and they put their name on it... use Android sdk if u are not already... search for the functions you use on the android website and see how to implement i gurantee you are not doing it correctly as it has changed. v – Kurdish Droid Mar 02 '15 at 16:25
  • are u sure?)) http://developer.samsung.com/sdk-and-tools what is this? **sdk-and-tools** – once2go Mar 02 '15 at 20:19

1 Answers1

0

I'm doing almost the same with a Galaxy S5 with android 5.0 (lollipop) and I can see SSID and BSSID correctly, I also get timestamp, distance and distanceSd information, try this code which is working for me.

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

I just assume wifi is on, so if it isn't then I guess you will get an error, but one more line of code should fix that.

pier
  • 3
  • 3