安卓三星wifi问题
Posted
技术标签:
【中文标题】安卓三星wifi问题【英文标题】:Android Samsung wifi issue 【发布时间】:2015-02-20 10:34:19 【问题描述】:尝试以编程方式获取可用 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(Samsung S4、Samsung S5、Samsung Note2、Samsung 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,距离:?(厘米),距离Sd:?(厘米),, 能力:[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)]
有没有人解决这个问题的经验?我正在尝试与三星支持沟通,但他们没有给我答案。谷歌搜索也无济于事
【问题讨论】:
查看一些文档,可能相同的代码现在已针对最新版本的 SDK 进行了更改。 Android SDK 还是三星 SDK 是什么意思?可能三星没有给我任何关于这个问题的解释,例如在三星开发者论坛developer.samsung.com/forum/board/thread/… 上没有人知道这一点。好难过 samsung 没有 SDK,他们有一个 Androids 的副本,他们把他们的名字放在上面...如果你还没有,请使用 Android sdk...搜索你在 android 上使用的功能网站,看看如何实施我保证你没有正确地做,因为它已经改变了。 v 你确定吗?))developer.samsung.com/sdk-and-tools这是什么? sdk 和工具 【参考方案1】:我对带有 android 5.0 (lollipop) 的 Galaxy S5 所做的几乎相同,我可以正确查看 SSID 和 BSSID,我还获得了时间戳、距离和 distanceSd 信息,试试这个对我有用的代码。
WifiManager wifim;
List<ScanResult>results=wifim.getScanResults();
for (ScanResult result:results)
text.append("\n\n_____Wifi Scan results:_____\n\n"+result.toString());
我只是假设 wifi 已打开,所以如果未打开,我猜你会收到一个错误,但多行代码应该可以解决这个问题。
【讨论】:
是的,它在三星 > 5.0 上的工作,其中大多数,但在 4.4 问题停留以上是关于安卓三星wifi问题的主要内容,如果未能解决你的问题,请参考以下文章