0

我有一个跟踪野生动物的应用程序,用户根据他们的观察输入数据(例如,用户输入他们看到 3 只驼鹿)。然后将数据上传到服务器。不过因为这个app会用在经常没有网络的地方,所以想在没有网络的情况下保存数据,等有网络的时候再上传数据

我知道可达性,但看起来我只能检查当时互联网连接是否可用,而不是在后台检查互联网连接

所以总结一下:

  1. 如果用户提交数据时有互联网连接,那很好。
  2. 如果没有互联网连接,当用户提交数据时,我想保存这些数据。一旦有互联网连接,我希望上传数据,而不需要用户再次打开应用程序。我不能依赖用户再次打开应用程序导致数据被提交,因为他们可能只会在手机信号塔范围之外使用这个应用程序,并且可能永远不会在有网络连接的位置运行应用程序,因此它必须自动为他们提交这些数据。

环顾四周,我找不到答案,所以我开始怀疑……这可能吗?

4

2 回答 2

0

不,Apple 不允许应用程序为此目的无限期地在后台运行,并且它们不允许远程触发应用程序或任何类似性质的东西。充其量您可以让您的应用程序在后台运行以获取有关主要位置更改的通知,但是您必须将其作为适当的功能而不是破解来绕过此限制,否则您的应用程序将无法获得批准苹果。

于 2012-05-16T22:33:48.480 回答
0

我知道可以在后台使用网络,但只能在用户关闭应用程序后的有限时间内使用。您可以创建一个计时器来检查网络连接(使用可达性或通过 ping Google),并将计时器设置为在应用程序关闭后每分钟触发一次。这不是一个非常有效的解决方案,但它可能会起作用。不过,您应该查看应用程序关闭后可以保持连接多长时间,我认为是 5-10 分钟。

于 2012-05-16T22:34:21.737 回答