2010-07-14 128 views
2

默認情況下,Wifi睡眠策略是「屏幕閒置睡眠」。Android Froyo和Wifi

有了這個政策,有可能是後臺服務在以後的時間喚醒無線上網使用一些API?

正在嘗試以下操作,但不起作用: 當我的後臺服務喚醒時,它會調用「ConnectivityManager.getActiveNetworkInfo()」以獲取活動網絡。 由於無線網絡處於閒置狀態,因此我嘗試在之前使用的Wifi連接上使用「WifiManager.startScan」喚醒它。 但仍然沒有得到Wifi連接。

任何想法? 我最好不要把我的睡眠政策改爲「永不」。

感謝 與Hemant

回答

0

這有沒有真正簡單的解決方案。在電話/屏幕進入睡眠狀態時,以極高的可能性確保您具有WIFI連接,最好的方法是關閉它。看看這裏有很多細節 - http://wififixer.wordpress.com/

重要的是要認識到,在睡眠模式下,無線上網進入低功耗模式是很重要的。這將變得棘手,然後以編程方式檢查它可能連接到Wifi,但Wifi連接太弱或太慢無法完成HTTP請求,因此它超時。這將迫使你檢查Wifi連接的速度以及你將有一個活躍的網絡,但一個非常糟糕的。

正確處理轉義時出現的HTTP調用使您可以正常使用,但最終獲得數據的唯一方法是讓後臺線程不斷運行以獲取數據僅當您的Wifi模式永不睡眠。

這是棘手的,而不是我所知道的最好的方式。 :-(然而,這是我發現的唯一足夠可靠的路徑。