zoukankan      html  css  js  c++  java
  • RongIM初始化

    public void IMconfig() {
    //BaseApplication里完成
    //初始化
    RongIM.init(this);

    //新消息处理
    RongIM.setOnReceiveMessageListener(new RongIMClient.OnReceiveMessageListener() {
    @Override
    public boolean onReceived(final Message message, int i) {
    //false 走融云默认方法 true走自己设置的方法

    if (!isAppOnForeground() && message != null) {//app是否运行在后台 不在发消息推送广播

    //未读消息数量
    RongIMClient.getInstance().getTotalUnreadCount(new RongIMClient.ResultCallback<Integer>() {
    @Override
    public void onSuccess(Integer integer) {
    messageNum=integer;
    KLog.d("---IMMessageNum:"+integer);

    //app后台运行 发送广播
    Intent intent = new Intent();
    intent.putExtra("SendId", message.getSenderUserId());//消息发送者
    intent.putExtra("MsgType", message.getConversationType() + "");
    intent.putExtra("MsgNum",messageNum+"");
    intent.setAction("com.yu.chatdemo.receiver.ChatBoardcaseReceiver");
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    BaseApplication.this.getApplicationContext().sendBroadcast(intent);

    }

    @Override
    public void onError(RongIMClient.ErrorCode errorCode) {
    KLog.d("---IMMessageNumError:"+errorCode);
    }
    });

    }

    return true;
    }
    });

    //userid对应的token
    String toke = "";

    //连接融云
    RongIM.connect(toke, new RongIMClient.ConnectCallback() {
    @Override
    public void onTokenIncorrect() {
    //Connect Token 失效的状态处理,需要重新获取 Token
    KLog.d("--IMToken失效");
    }
    @Override
    public void onSuccess(String userId) {
    KLog.d("--IM连接成功");
    }

    @Override
    public void onError(RongIMClient.ErrorCode errorCode) {
    KLog.d("--IM连接失败:"+errorCode);
    }
    });

    //会话列表与会话页面的头像 昵称
    RongIM.setUserInfoProvider(new RongIM.UserInfoProvider() {

    @Override
    public UserInfo getUserInfo(String userid) {

    //昵称与头像需要根据接口自己获得

    return new UserInfo(userid,"名字", Uri.parse("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1088200534,4215449739&fm=116&gp=0.jpg"));
    }
    }, true);
    }
  • 相关阅读:
    jsonp 原理和基本使用
    jsonplaceholder直接提供模拟测试数据
    为什么要学mock
    vue基础知识和案例
    winform datagridview中combobox列改变选项时触发其他列变化
    将DataGridView转换为DataTable
    C#中删除字符串最后一个字符串的几种方式
    C#中成员变量和局部变量的区别
    WinForm窗体中如何在一个窗体中取到另一个窗体的值
    ComboBox 中 DisplayMember 和 ValueMember有何区别
  • 原文地址:https://www.cnblogs.com/yulook/p/5881295.html
Copyright © 2011-2022 走看看