你好,两个问题。

1.客户端已进入聊天室A,此时可正常的收发消息。之后将程序放置后台,程序会调用回调- (void)imClientPaused:(AVIMClient *)imClient。当程序反置前台,会调用- (void)imClientResumed:(AVIMClient *)imClient,根据文档表示聊天服务状态恢复,但是此时我就接收不到其他人发的消息了。

2.目前处于聊天室中,接听电话,之后挂断电话,客户端无法接收消息

期待您的回复。

技术支持们能否回复一下啊

请问有人回答吗?等的花都谢了。。。。

请问有人回答吗? sob

那如果程序进入后台,之后马上回到前台呢?按正常来讲,应该还能接收消息呀。(我不使用推送)

应该是可以收到消息。
聊天的长连接是自动处理的,对开发者来说是透明的。
imClientPaused 和 imClientResumed 是 SDK 调用的,还是你手动调用的?

你好,是自动调用的。

SDK 版本是多少,我用 v3.1.2.4 SDK 没有复现这样的问题。尝试升级一下 SDK 呢?

另外也可以参考 NextChat 这个 Demo,URL 是 https://github.com/leancloud/NextChat7

我升级一下sdk,看看

你好,麻烦你再看看第二个问题

第二个问题跟第一个问题是相关的,如果升级能够解决第一个问题,那么第二个问题应该也顺带解决了。

你好,我这升级到了v3.1.2.5了,可是还是不可以呢。
我退到后台程序调用回调- (void)imClientPaused:(AVIMClient *)imClient。
返回前台程序调用回调- (void)imClientResumed:(AVIMClient *)imClient。之前没有任何的操作呢。

能发一个去掉业务代码的,最小化的,可以复现该问题的项目过来吗。

也可以发到邮箱 ttang@leancloud.rocks

你好,我使用的是开放聊天室,暂态的,不是群组呢。

你好,我们这知道结果了。程序从后台进入前台,需要我们自己再次手动进入一次聊天室

您好,真对第一个问题,程序进入后台调用imClientPaused,我查看status是paused状态,之后回到前台,我查看status是opened状态,这个状态下,我接收不到别人的消息了呢。除非我再次调用joinWithCallback进入聊天室。

您好,这里的确有个问题导致切换到前台后上线失败,最近已经修复了,需要将 SDK 升级到最新版。

好的 我试试