看板 AndroidDev 關於我們 聯絡資訊
大家好,最近正在研究Kotlin BroadcastReceiver的寫法,目標是有個switch,在Wi-Fi狀 態切換時,能夠切換on-off https://i.imgur.com/NYcY9AH.jpg
以下是我的程式碼: AndroidManifest. xml https://i.imgur.com/dKlAmo3.png
MainActivity. kt https://i.imgur.com/sBULPUS.png
https://i.imgur.com/qKCoV2s.png
遇到幾個問題想請教: 1. 透過監聽器可以去切換Wi-Fi開關,但是從系統Wi-Fi開關時,switch不會跟著改變。請 問是Broadcast註冊有問題嗎? 2. 在使用setWifiEnable時,被畫刪除線,顯示是deprecated in Java。google一下,解釋 如下:意思是在API29就不能使用這個function? 那要如何達成這個功能呢?還是我只能將 模擬器的API降到29以下? https://i.imgur.com/AknzpbL.png
https://i.imgur.com/gfZx5Kn.png
第一次發文,希望各位能夠幫忙解答,感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.20.108 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1587959216.A.A5F.html
psychedelico: 可以先確定broadcast receiver有沒有收到東西 04/29 15:58
kobe8112: 不太明白,你說要依據wifi狀態決定switch button的開關 04/29 18:45
kobe8112: 對吧?那為啥要呼叫set函式? set是設值不是取值啊 04/29 18:46
kobe8112: 如果你的確就是需要透過你的程式開關wifi,那你只能跳到 04/29 18:49
kobe8112: 設定頁讓使用者手動開關了(Android Q以上) 04/29 18:49
taiwan123: 我的用意是:在app讀取現在Wi-Fi狀態。假設是讀到off 04/29 20:48
taiwan123: ,則switch自動切成off。而我可以透過同一個switch, 04/29 20:48
taiwan123: 手動switch on後去開啟系統Wi-Fi,所以才會有setEnabl 04/29 20:48
taiwan123: ed。目前可以做到用switch去開Wi-Fi,但我從系統關Wi- 04/29 20:48
taiwan123: Fi後switch不會變成turn off,所以判斷是廣播沒發出或 04/29 20:48
taiwan123: 沒收到 04/29 20:48
zcbxvsdf: 你建立一個Receiver,你有在Manifest裡註冊他嗎? 04/29 22:58
taiwan123: 我是在onStart註冊的,所以動態跟靜態註冊不是二選一 04/30 09:50
taiwan123: ?是兩個都要做? 04/30 09:50
psychedelico: 是二選一沒錯,但建議可以在onReceive印log看看是否 04/30 10:31
psychedelico: 有收到任何訊息 04/30 10:31
taiwan123: 好,我試試看,謝謝大家 05/01 11:14