如何屏蔽最新收到的特定的消息?

如何屏蔽最新收到的特定的消息
发布时间: 2015-09-16 14:31

回答:

目前sdk收到消息显示的机制是从服务器获取最新的消息后,保存到数据库(如果需要),然后会通知消息回调方法。这也是lib的方法。

 

在消息回调中,做两件事,

1、 kit层的消息监听  

2、 发送消息收到的通知,用于刷新界面。

这两个方法是有顺序的,有一点需要注意的是刷新会话界面时候的数据不是从数据库中读取,而是直接把接收到的数据直接传递过去。提高了效率。会话列表界面是刷新是需要从数据库读取数据刷新的。

而我们要实现消息屏蔽的功能

1、 kit层消息监听,当我们收到一个特定类型的消息的时候,如果我们不想要显示,可以把该类型的消息从数据库删除。

2 、执行完1后,数据库虽然删除了消息,但是消息界面仍然后收到新消息的post通知。会话页面和列表页面都会收到通知。

会话页面:  所以我们还要在会话页面子类中重写收到消息的方法,如果是该类型的消息就直接return,不做处理。 (目前sdk没有提供这个接口,可以强写))

会话列表由于是从数据库读取数据刷新,不需要单独处理。