看板 AndroidDev 關於我們 聯絡資訊
版上各為大家好 小弟在Android 5.0的WiFi相關應用開發上有些問題 會限定在5.0是因為在4.X沒有問題 小弟主要是使用AUSU Zenfone 2做開發 小弟在實作的APP很像Google Play 上的WiFi Manager 主要是讓使用者可以透過APP來連接上Wi-Fi網路 主要有兩個功能有點問題 第一個就是我想實作WiFi Forget的功能 也就是讓系統遺忘掉WiFi網路的功能,在原生系統的WiFi設定裡稱為"清除" 而實用的方法也很簡單,直接呼叫removeNetwork()就可以了。 只不在這個在我4.X的機子上沒問題 但是換到了5.0的手機上的時候會發生一個狀況: 假設使用removeNetwork()移除掉A網路,然後就再也無法連接上A網路, 除非重新啟動WiFi。 第二個問題是 當使用disableNetwork()將某個WiFi網路狀態改為"已停用"的時候 在5.0會出現"驗證錯誤"的狀態 第三個問題是 當使用enableNetwork()來進行連接某個特定的Wifi網路的時候,會失效(也就是說 不會去連接我所指定的WiFi網路,常常會連接到訊號最好的那個) 不知道版上的各位有沒有發生過這種問題 想知道是不是有些特殊的眉角要注意 感謝大家:) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.223.149 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1440827144.A.D56.html
egaryer: 3.enableNetwork()的第二個引數有放true嗎? 08/29 16:24
第二個引數我是放true沒錯(也就是disableOther = true) 但只有在4.X的機子上有效果,5.0的機子沒有。 因為沒效果才會衍生第二個問題 因為我自己在寫一段code去disable所有的WiFi Network (其實我會問是因為 WiFi Manager 這個APP這些功能在5.0上都沒問題 所以我在想是不是我哪裡沒注意到還是怎樣...)
egaryer: 1.addNetwork() 程式碼再加入一次要連的A網路看看? 08/29 16:26
不行也,就是forget掉之後就沒辦法了 簡單來說就是removeNetwork()使用後 就沒辦法再使用addNetwork(A.netId)來將A網路加入... (WiFi Manager 這個APP能正常Forget 網路) ※ 編輯: xling5216 (140.115.223.149), 08/29/2015 16:51:59
egaryer: 查到了但不能貼網址Orz 去Stackoverflow搜下面這串 08/29 17:05
egaryer: WifiConfiguration enable network in Lollipop 08/29 17:05
egaryer: 其他篇還有建議用ConnectivityManager.requestNetwork() 08/29 17:08
xling5216: 感謝e大:) 我去試試看 然後再回來回報 08/29 17:11