我想在 Wifi 连接到某个路由器或从某个路由器断开连接时运行一段代码。我可以使用服务和 BrodcastReceiver 来实现此目的,但从 Oreo 开始,该服务会在应用程序关闭几分钟后被终止(除非在前台)。因此,我尝试使用 JobScheduler 来执行此操作,但我无法弄清楚为执行我的作业提供哪些触发器。
最佳答案
Android 不想在每次网络发生变化时都运行您的代码。这些更改可能每分钟发生几次,并且您的代码将导致过多的电池消耗。
您能做的最好的事情就是安排您的作业定期运行(时间间隔不能太短 - 如果您请求的时间少于 15 分钟,您将无法定期获得它)并检查其中需要什么。您可以请求作业仅在有网络连接时运行,反之则不然(在没有网络连接时运行)。
关于java - 当 Wifi 状态发生变化(连接或断开网络)时如何触发 JobScheduler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48277348/