当您的应用程序关闭时,您如何在后台连接到服务器?

How do you connect to a server in the background when your app is closed?

我需要尽快与我的应用程序和服务器同步数据。

如果我的应用程序已打开并且用户有互联网连接,这很容易。

在我当前的实现中,如果用户没有互联网,与我的应用程序交互,然后关闭它,应用程序和服务器不会同步,直到应用程序重新打开。

有没有办法在用户有互联网连接但没有打开应用程序时与我的应用程序和服务器同步数据?感谢链接!

您可以使用GCM Network Manager在后台执行与网络相关的任务。您可以使用它实现 periodicone time 任务。这 API 正是您想要的。

您应该注意的几件事:

  1. 服务 - 运行 后台进程 http://developer.android.com/guide/components/services.html

  2. 推送通知 - 从服务器接收数据 https://developers.google.com/cloud-messaging/

  3. Broadcast Receivers(尤其是启动),以便您可以在设备启动后立即启动您的服务 Android BroadcastReceiver on startup - keep running when Activity is in Background

结账 android SyncAdapter。最适合你的情况。

可以根据

触发
  1. 时间表。
  2. 在 Gcm 消息接收中。
  3. 从应用程序内的任何位置进行一般呼叫。