Android網絡開發的那些事兒

  幾個月前搞的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去重,留下信號最強的一個。實際測試能夠順利鏈接。測試

相關文章
相關標籤/搜索