IM 即时通讯 (438)
Android (207)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (15)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (33)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (43)
iOS (166)
- SDK 导入 (8)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (25)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (3)
- 音视频 (4)
- 其他 (23)
Web (36)
Server (29)
Android 如何设置免打扰不计入总未读数?
置免打扰不计入总未读数
发布时间: 2018-10-22 11:38
回答:
ConversationListFragment
1 编写一个继承 ConversationListFragment 的类
2 重写其
@Override public ConversationListAdapter onResolveAdapter(Context context) { listAdapter = new RceChatsListAdapter(context); return listAdapter; }
方法 获取到 adapter
3 设置未读数监听
private IUnreadMessageListener unreadMessageListener; /** * 设置未读数监听 * 如果会话设置了免打扰,在不在计数范围内。 * * @param listener */ public void addUnreadMessageListener(IUnreadMessageListener listener) { this.unreadMessageListener = listener; } public interface IUnreadMessageListener { void onCountChanged(int count); }
4 重写父类的
onUnreadCountChanged
方法
方法中实现
unreadMessageListener.onCountChanged(getUnreadCount());
private int getUnreadCount() { int count = 0; for (int i = 0; i < listAdapter.getCount(); i++) { final UIConversation uiConversation = listAdapter.getItem(i); if (uiConversation.getNotificationStatus().equals(Conversation.ConversationNotificationStatus.NOTIFY)) { count += uiConversation.getUnReadMessageCount(); } } return count; }
如若有必要可将监听接口设置为静态