Android 当网络连接在定时服务中可用时,从网络获取数据

Android 当网络连接在定时服务中可用时,从网络获取数据,android,broadcastreceiver,android-service,intentservice,android-networking,Android,Broadcastreceiver,Android Service,Intentservice,Android Networking,我有一个应用程序,可以有效地每5小时启动一次intent服务(从启动开始),从网络获取数据 我想要实现的是,如果没有网络连接(在抓取时),订阅一些广播,以便在网络可用时收听,然后再次抓取数据 实现这一目标的最佳方法/技术是什么 此外,我可能希望在以这种方式成功获取数据后取消订阅(用于网络连接广播),并重置原始服务计划,使其在5小时内再次检查。您可以使用(SharedReferences) 对于存储字符串5小时,字符串验证为true false(0/1),然后每5小时检查字符串验证是否为true,

我有一个应用程序,可以有效地每5小时启动一次intent服务(从启动开始),从网络获取数据

我想要实现的是,如果没有网络连接(在抓取时),订阅一些广播,以便在网络可用时收听,然后再次抓取数据

实现这一目标的最佳方法/技术是什么

此外,我可能希望在以这种方式成功获取数据后取消订阅(用于网络连接广播),并重置原始服务计划,使其在5小时内再次检查。

您可以使用(SharedReferences)
对于存储字符串5小时,字符串验证为true false(0/1),然后每5小时检查字符串验证是否为true,并每4.59小时更改验证完成

最后,通过清单允许我的广播接收器执行我的操作(启动我的意向服务)要收听android.net.conn.CONNECTIVITY\u更改,请执行以下操作。i、 这使我能够监听网络中的变化

现在在我的intent服务中,如果由于网络连接而无法获取数据,那么我将在shared pref中设置一个名为“waiting_for_connection”的标志


如果网络更改,我会检查“等待连接”标志,如果设置了。如果是假的,那我就回来;否则,只有在有网络的情况下,我才会继续获取数据。如果成功,我会重置标志。

我不确定你的确切意思是什么?我已经通过警报服务启动了一项服务,每5小时运行一次。