我有一个需要每 30 分钟从服务器提取数据的应用程序,经过大量搜索后我找到了这个解决方案:
1- 使用 AlarmManager 每 30 分钟通知应用程序,而不是让服务在后台运行。
2- 使用带有 PARTIAL_WAKE_LOCK 的唤醒锁
我唯一的问题是 Wifi 在 sleep 时间关闭。
当我的警报被触发时,我如何请求我需要互联网连接?
最佳答案
前段时间我遇到了完全相同的问题。不幸的是我没有成功。我尝试了以下方法:
WifiManager wman = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
try {
wman.reconnect();
} catch (Exception e) {
e.printStackTrace();
return false;
}
也许你可以玩弄 WifiManager 并找到一种我没有找到的方法。哦,是的,不要忘记在 list 中设置 WIFI 权限。
干杯卢卡斯
关于Android:如何从 AlarmManager 唤醒 WIFI(或 3G)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9140185/