2

对不起,我的问题很长,但我需要解释一下。

我正在使用 asmack API 开发 android 聊天客户端。我已经建立了联系,可以和朋友聊天。现在我将其更改为 GUI 客户端,并希望拥有用户可以与多个朋友聊天的功能。这意味着如果两个聊天活动打开,一个将处于活动状态,一个将处于暂停状态。我需要一些想法如何添加用户可以同时与多个用户聊天的功能。我是否需要实现一些后台服务来与暂停的活动进行通信,或者这可以通过其他方式实现?

如果我需要实现后台服务,该服务的功能是什么?如果我走错了路,请指导我。

4

2 回答 2

1

整个聊天系统应该与 UI 分离。UI 应该简单地“绑定”到聊天“流”以发送/接收数据。这将让您在聊天之间切换,这些“隐形”聊天仍然可以接收来自您的各方的消息。此外,即使应用程序处于“后台”,您也希望您的应用程序能够接收消息,因此实际上没有任何其他选择。更不用说这种方法将帮助您构建具有多个可见聊天的平板电脑的 UI。

于 2012-11-24T14:35:48.013 回答
0

是的,您可以使用长期运行的服务。我实际上扩展了 Application 类,它的生命周期比 Service 类短得多,但由于移动环境中带宽/连接性/电池的限制,我不需要它来维持持久连接。

为了解决这个问题,我使用广播接收器和谷歌 GCM API 来接收离线通知。

显然,您还必须实现自己的内部 Intent 服务,以便在聊天到达时通知活动。

希望这可以帮助

于 2013-09-03T04:54:43.107 回答