注册

iOS 我现在只是要收到消息提醒 然后获取未读消息数就行 用哪些方法呢?

iOS  我现在只是要收到消息提醒 然后获取未读消息数就行  用哪些方法呢?主要是demo里的感觉不太好整明白 谢谢了
已邀请:
1、收到消息提醒,去调用接口就行了,参考下:
#import "EMCDDeviceManager.h"
#import <AudioToolbox/AudioToolbox.h>
@interface EMCDDeviceManager (Remind)
// 播放接收到新消息时的声音
- (SystemSoundID)playNewMessageSound;
// 震动
- (void)playVibration;
@end

2、未读数:
/*!
 @Method
 @brief 获取此对话中所有未读消息的条数
 @discussion
 @result 此对话中所有未读消息的条数
 */
- (NSUInteger)unreadMessagesCount;
参考下Demo的实现。可以采用去获取每个会话的未读数,然后加和的方法去统计未读数总数。
// 统计未读消息数

-(void)setupUnreadMessageCount

{

    

    NSArray *conversations = [[[EaseMob sharedInstance] chatManager] conversations];

    NSInteger unreadCount = 0;

    for (EMConversation *conversation in conversations) {

        unreadCount += conversation.unreadMessagesCount;

    }

//    if (_messageLab)

//    {

//        if (unreadCount > 0)

//        {

//            _messageLab.text = [NSString stringWithFormat:@"%i",(int)unreadCount];

//            _index = unreadCount;

            

            NSDictionary *dic = @{@"index":[NSString stringWithFormat:@"%li",(long)unreadCount]};

            [[NSNotificationCenter defaultCenter]postNotificationName:@"unReadCount" object:nil userInfo:dic];

            

             [[UIApplication sharedApplication] setApplicationIconBadgeNumber: unreadCount];

//            [_messageLab setHidden:NO];

//            

//            

//            

//            //            [[UIApplication sharedApplication] setApplicationIconBadgeNumber:3];

//        }else{

//            _messageLab.text = nil;

//            [_messageLab setHighlighted:YES];

//        }

//    }

//    

//    UIApplication *application = [UIApplication sharedApplication];

//    [application setApplicationIconBadgeNumber:unreadCount];

    

}


搜这个方法,对应的有几个代理方法//未读消息
写上就可以获得未读消息

要回复问题请先登录注册