2012-01-13 55 views
0

我有一个要求,即我的应用程序可以随时从服务器接收事件(例如消息)(即使应用程序未运行)。那么我需要创建一个无限运行的服务来监听这些事件吗?Android:无限地运行接收事件的服务?

这对我来说似乎与智能手机中的电子邮件应用程序类似,就像每当您收到新电子邮件(本例中的事件)时,它都能够显示通知,并且能够在我收到活动时更新列表适配器。

但我知道我将如何执行此操作?

+0

创建“无限运行的服务”是不可能的。用户和操作系统最终会摆脱你的服务。请使用C2DM,或者重写您的应用程序以删除“要求”(例如,使用'AlarmManager'每N分钟检查一次消息,其中N是用户可以控制的内容) – CommonsWare 2012-01-13 13:52:48

回答

3

你应该看看C2DM(推送邮件): http://code.google.com/intl/sv-SE/android/c2dm/index.html#intro
它允许服务器在任何时间将消息发送到设备。

从链接:

下面是Android的云到设备 消息(C2DM)的主要特点:

它允许第三方应用程序服务器的轻量消息发送到Android应用。邮件服务不是 ,旨在通过邮件发送大量用户内容。而应该用 来告诉应用程序服务器上有新的数据,以便应用程序可以获取它。
[...]
Android设备上的应用程序不需要运行至 接收消息。只要应用程序是 设置了适当的广播接收器和权限,系统将通过意图 在消息到达时广播唤醒应用程序。

0

来自服务器的事件被称为“推送通知”,并通过“云2设备消息传递”(C2DM)实现。在移动端,这些消息作为广播事件提交(请参见BroadcastReceiver)。对于一个完整的例子看到一些教程:Google,在Stackoverflow

0

我认为你必须尽快启动设备开始ServiceVogella或在这里。有一个很好的教程here如何实现这一点。

相关问题