移动设备获得互联网连接后立即发送应用数据

时间:2014-09-18 02:58:11

标签: android ios networking mobile connectivity

我正在构建一个应用,用户可以在线和离线时输入数据。 此数据必须与服务器同步。 如果用户在线,则不是真正的问题。 但是现在我需要发送用户在离线时输入的数据,一旦他获得互联网连接(例如当他离开飞机并且手机连接到网络时)。

我想到的当前解决方案是使用iOS和Android上提供的后台服务每隔X分钟轮询一次服务器以查看手机是否在线。 对于Android来说,这似乎不是一个太大的问题。 然而,iOs似乎更难。 根据这篇文章iOS app upload data to server as soon as network is available,这是不可能的。但似乎iOS 7增加了新的后台功能,可能使这个用例变得可行。我找不到任何关于它的好例子或文件。

所以核心问题是,即使我的应用程序暂时没有被使用,我怎么能检测到手机上线的事实(甚至可能在上次重启手机后根本没有使用过)?

2 个答案:

答案 0 :(得分:0)

我最近发现了一段完美的代码来实现后台获取。

注意: 使用Background Fetch时,您应该了解一个限制。给应用程序的后台执行时间不是无限的。 iOS提供30秒的时间框架,以便唤醒应用程序,获取新数据,更新其界面,然后再次进入睡眠状态。你有责任确保任何执行的任务能够在30秒内完成,否则系统会突然停止它们。如果需要更多时间,则可以使用后台传输服务API

<强>代码: DemoProject

<强>参考: ios7-background-fetch-programming

我希望它会对你有所帮助。

答案 1 :(得分:0)

除非您的应用是音乐播放器应用,基于位置等,否则IOS将不允许您的应用在无限时间内以最小化状态工作。