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;
}


如若有必要可将监听接口设置为静态

我对此仍有疑问!继续追问