我有这个应用程序需要从服务器每隔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 现在在特定时间强制访问网络要困难得多。