看板 AndroidDev 關於我們 聯絡資訊
大家好,最近在實作一個程式,程式會啟動一個 Service 並開新 Thread 進行 UDP Socket Listen (Timtout 已經設為無限) 我在 Service 和 Socket Thread 的地方做了幾個 debug 輸出 當我關閉螢幕的時候 debug 上並沒有顯示 Service 或者 Socket Thread 關閉的訊息,合理推斷應該還是開著的。 但如果我在螢幕關閉的情況下,對區網丟出 UDP 廣播,螢幕關閉的 裝置沒有收到訊息 在一般的狀況下,只要丟出 UDP 廣播所有螢幕開著的的裝置都會收到 唯獨螢幕關著的不會 想請問各位前輩,一般來說螢幕關閉的時候會影響到這些嗎? Service 或者 Network 嗎? ( PS: 有的省電設置在 Screen Off 會關閉 wifi 我知道,但我這邊都沒有) 我想要在螢幕是關閉的情況下也能收到 UDP 廣播訊息,並且點亮螢幕 通知使用者 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.39.75
LaPass:關閉下收的到 07/26 12:43
我在 DatagramSocket 的 .receive 底下放了一個輸出: Log.d(TAG , "Get UDP Pkg"); 在確定 Service 是啟動中的狀態下: 1.螢幕開著,另一台發廣播 有收到訊息,手機有反應, DDMS 也有看到這個訊息出現 2.螢幕關著,另一台發廣播 手機沒反應, DDMS 也沒收到訊息 有什麼可能會造成這個問題呢 @@ ? ※ 編輯: darkk6 來自: 140.116.39.75 (07/26 12:56)
bukiya:設定->wifi->右上menu->進階->休眠狀態可以設定 07/26 12:59
bukiya:程式中的話可以用WifiManager.WifiLock 07/26 13:01
原來還有 WifiLock 可以用XD 感恩~ 另外,我之後加上 WakeLock , 收到訊息的時候 acquire() 手機(GB)就可以了... 原來真的只是沒有點亮螢幕的問題.. 我加上 acquire 之後, DDMS 也有訊息輸出了= =a 可是另外一台平板(ICS)還是不理我... ※ 編輯: darkk6 來自: 140.116.39.75 (07/26 13:11)