2012-02-04 137 views
3

我有這個應用程序需要從服務器每隔30分鐘拉數據,經過大量搜索,我達到了這個解決方案: 1-使用AlarmManager每30分鐘通知應用程序,而不是保持服務在後臺運行。 2-使用帶PARTIAL_WAKE_LOCK的wakelocksAndroid:如何從AlarmManager喚醒WIFI(或3G)?

我唯一的問題是Wifi在休眠時關閉。

當我的鬧鐘被觸發時,我如何要求我需要互聯網連接?

回答

0

前段時間我的問題完全一樣。不幸的是我沒有成功。我試過如下:

WifiManager wman = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE); 

    try { 
     wman.reconnect(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return false; 

    } 

也許你可以玩的WifiManager,並找到一種方式,我沒有找到。噢,別忘了在清單中設置WIFI權限。

乾杯盧卡斯

0
  1. 報警經理喚醒通過接收你的清醒的意圖服務
  2. 清醒的意圖服務獲得一個WiFi鎖定
  3. 服務連接註冊一個接收器,並呼籲reconnect()reassociate()和必要的操作(這可能是設備特定的)
  4. 服務等待鎖定
  5. 接收器喚醒服務時的WiFi連接

骨架代碼:https://stackoverflow.com/a/19968708/281545