当我的应用程序不在前台时,我想检测何时发生网络更改(连接\断开连接),以便我可以同步用户的数据。
我尝试使用 a broadcast receiver
(就像在这个答案中一样)但是当应用程序关闭时(之后)不再接收广播Android N
。它仅在应用程序处于前台时才有效。
为了检测后台的连接变化,我尝试将Job Scheduler
(如this answer中)与.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
参数一起使用,但我的问题是该工作重复完成(每15分钟一次),即使用户仍然连接到互联网。
我的目标是在重新连接互联网时完成一次工作,然后停止工作,直到用户断开连接并再次连接。每次连接到互联网时都应该完成一次该工作,然后等待重新连接(不重复)。
是否有可能通过Job Scheduler
(或以任何其他方式)实现这一目标?