【发布时间】:2012-12-01 08:04:57
【问题描述】:
我有一个使用 asmack 的 XMPP 服务器。我已经在 android 应用程序中使用了它,但没有作为服务使用。结果,当我关闭应用程序时,客户端与服务器断开连接。我应该使用哪个 Android 服务来连接该连接始终存在。
【问题讨论】:
标签: android xmpp android-service
我有一个使用 asmack 的 XMPP 服务器。我已经在 android 应用程序中使用了它,但没有作为服务使用。结果,当我关闭应用程序时,客户端与服务器断开连接。我应该使用哪个 Android 服务来连接该连接始终存在。
【问题讨论】:
标签: android xmpp android-service
您应该实现自己的类来扩展android 框架的Service 基类。 developer.android.com 和这里有很多文档。但是请注意,如果您实现该服务以便它始终在后台运行,则您必须使用 AIDL 接口与它进行通信。一开始有点奇怪,但可行。 还要注意,权力越大,责任越大。因此,您正在启动始终在后台运行的服务。当然,您将开始使用 WakeLocks 以确保在设备进入睡眠状态之前完整地写入更复杂(更长)的 XMPP 数据包。但要对此负责。很容易成为电池寿命的负担。 也值得一看 C2DM for Android。在大多数情况下,这与一些 HTTP 请求相结合是比实现自己的 XMPP 后台服务更好的选择。
【讨论】: