Android网络开发的那些事儿

本文探讨了Android设备上WiFi扫描结果中同一SSID重复显示的问题。通过对不同路由器信号的观察,发现多模路由器可能导致SSID重复,并提出了去重解决方案。

  几个月前搞的Android项目最近挖出来调Bug,发现以前好好的getScanResult返回的结果,现在同一个SSID居然会重复出现。google了一大堆资料发现这个问题的我不是第一个,但是貌似没有什么解决方案,也没有说明原因。我把broadcast停下来,仔细查看每一个getScanResult返回的列表,发现普通的路由发射出来的信号其实是正常的,也就是说没有出现SSID重复的情形,而CMCC-HEMC和CMCC-AUTO就会重复出现两到三次,而且level什么的参数都不一致。于是猜测可能是因为这些路由是多模的,用来增强信号,所以会检测到同名SSID。实际上,如果多个路由设备设置成同样的SSID和密码,譬如地点A和地点B各有一个路由器SSID和密码一致,在地点A连接该接入点,去到地点B,Android设备是会自动连接上的,换言之,Android是靠SSID来识别接入点的。不过系统自带的扫描就不会显示出同名接入点来,不知道后台是怎么处理的,手上没有路由设备来试验,不过早些年的手机论坛上暴露过这个问题,据说Android不允许同名SSID的存在,也就是说它是简单粗暴的去重了,目测是留下信号level比较强的那个,相对较弱的就被隐藏或抛弃了。现在没有办法,只好也将同名的SSID去重,留下信号最强的一个。实际测试可以顺利连接。

转载于:https://www.cnblogs.com/mrbin/p/3606030.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值