很抱歉我的问题很长,但我需要解释一下。
我正在使用asmack API开发android聊天客户端。我创建了连接,可以和朋友聊天。现在我将其更改为GUI客户端,并希望具有用户可以与多个朋友聊天的此功能。这意味着如果两个聊天活动打开,则一个将处于活动状态,一个将处于暂停状态。我需要知道如何添加此功能,用户可以同时与多个用户聊天。我是否需要实施一些与暂停活动进行通信的后台服务,或者通过其他方式实现这一点?
如果我需要实施后台服务,那么该服务的功能是什么?如果我走错了路,请指导我。
答案 0 :(得分:1)
整个聊天系统应与UI分开。用户界面应该只是"绑定"聊天"流"发送/接收数据。这可以让你在聊天和这些"隐形"之间切换。聊天仍然可以收到你方的消息。此外,您希望您的应用即使在应用程序处于"后台时也能够接收消息"所以没有其他任何选择。更不用说这种方法可以帮助您构建具有多个可见聊天的平板电脑UI。
答案 1 :(得分:0)
是的,您可以使用长期运行的服务。我实际上扩展了Application类,它的生命周期比Service类短得多,但由于移动环境中带宽/连接/电池的限制,我不需要它来维持持久连接。
为了解决这个问题,我利用广播接收器和谷歌GCM API来接收离线通知。
显然,您还必须实施自己的内部Intent服务,以便在聊天到达时通知活动。
希望这有帮助