融云IM使用小结---Android

2 篇文章 0 订阅

首先按照融云官方文档,接入SDK,基于IMKit,具体接入就不多废话啦啦…
此时AndroidManifest.xml在遇到第一个问题点:
1、android.support.v4.content.FileProvider冲突

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="您的应用包名.FileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/rc_file_path" />
</provider>

解决方案:

  • 重写FileProvider文件
package com.android.chat; import
android.support.v4.content.FileProvider; 
public class ChatFileProvider extends FileProvider { 
}
  • AndroidManifest.xml注册
<provider
    android:name=".chat.ChatFileProvider"
    android:authorities="com.droi.mjpet.FileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/rc_file_path" />
</provider>

2、最近聊天列表头像设置为圆形
rc_item_conversation.xml
rc_item_message.xml

查找AsyncImageView,修改属性 app:RCShape=“circle”

3、修改聊天界面消息背景框
android/IMKit/src/main/res/drawable-xhdpi/
在这里插入图片描述

4、设置自己的信息
RongIM.getInstance().setCurrentUserInfo(new UserInfo(userId, userNickName, Uri.parse(userPortraitUri)));
5、设置好友信息列表

  • 实现RongIM.UserInfoProvider接口
 @Override public UserInfo
   getUserInfo(String s) {
          itemMap = MJ_PetUtils.queryAllData(mContext);
          PetItem item = itemMap.get(s);
          if(item != null) {
              return new UserInfo(item.getId(), item.getPetName(), Uri.parse(item.getPic()));
          }
          return null;    } 
  • 设置监听,具体可参照官方Demo
    RongIM.setUserInfoProvider(this, true);
    6、设置群昵称和头像
  • 实现RongIM.GroupInfoProvider接口
@Override
        public Group getGroupInfo(String s) {
            itemGroupMap = RNBridgeModule.groupList;
    
            if (itemGroupMap != null) {
                FriendItem info = itemGroupMap.get(s);
                if (info != null) {
                    return new Group(info.getId(), info.getPetName(), Uri.parse(info.getPic()));
                }
            }
            return null;
        }
  • 设置监听
RongIM.setGroupInfoProvider(this, true);

7、未读消息监听

  • 实现IUnReadMessageObserver接口
    @Override
    public void onCountChanged(int count) {
    RNBridgeModule.nativeCountChanged(count);
    }

  • 设置监听

    RongIM.getInstance().addUnReadMessageCountChangedObserver(this, mConversationsTypes);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值