作者xling5216 (xling)
看板AndroidDev
標題[問題] android5.0 Wi-Fi APP 開發問題
時間Sat Aug 29 13:45:40 2015
版上各為大家好
小弟在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