我有這個應用程序需要從服務器每隔30分鐘拉數據,經過大量搜索,我達到了這個解決方案: 1-使用AlarmManager每30分鐘通知應用程序,而不是保持服務在後臺運行。 2-使用帶PARTIAL_WAKE_LOCK的wakelocksAndroid:如何從AlarmManager喚醒WIFI(或3G)?
我唯一的問題是Wifi在休眠時關閉。
當我的鬧鐘被觸發時,我如何要求我需要互聯網連接?
我有這個應用程序需要從服務器每隔30分鐘拉數據,經過大量搜索,我達到了這個解決方案: 1-使用AlarmManager每30分鐘通知應用程序,而不是保持服務在後臺運行。 2-使用帶PARTIAL_WAKE_LOCK的wakelocksAndroid:如何從AlarmManager喚醒WIFI(或3G)?
我唯一的問題是Wifi在休眠時關閉。
當我的鬧鐘被觸發時,我如何要求我需要互聯網連接?
前段時間我的問題完全一樣。不幸的是我沒有成功。我試過如下:
WifiManager wman = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
try {
wman.reconnect();
} catch (Exception e) {
e.printStackTrace();
return false;
}
也許你可以玩的WifiManager,並找到一種方式,我沒有找到。噢,別忘了在清單中設置WIFI權限。
乾杯盧卡斯
reconnect()
,reassociate()
和必要的操作(這可能是設備特定的)注爲Android 6(API級23)及以上。由於谷歌推出Optimize for Doze和App Standby,事情變得越來越複雜。看看這裏 - https://developer.android.com/training/monitoring-device-state/doze-standby.html 現在在特定時間強制訪問網絡要困難得多。