浏览 SDKs · HarmonyOS
平台
SDKsHarmonyOS商业版

获取消息总未读数

查询并持续维护当前账号的会话消息总未读数。

复制

不要只对已加载分页求和,未加载会话也可能有未读消息。

import sdk, {
  EventOnTotalUnreadMessageCountChangedData,
  GetTotalUnreadMsgCountResp,
  OpenIMSDKEvent,
} from '@openimsdk/imsdk';

const response: GetTotalUnreadMsgCountResp = await sdk.getTotalUnreadMsgCount();
updateApplicationBadge(response.totalUnreadCount);

const handleUnreadChanged = (data: EventOnTotalUnreadMessageCountChangedData): void => {
  updateApplicationBadge(data.totalUnreadCount);
};
const unsubscribeUnread = sdk.on(
  OpenIMSDKEvent.EventOnTotalUnreadMessageCountChanged,
  handleUnreadChanged,
);

export function removeTotalUnreadListener(): void {
  unsubscribeUnread();
}

重连同步完成或事件可能遗漏时重新查询。应用桌面角标还应按设置应用角标数量同步。