@某人的操作:
在默認情況下@某人關閉狀態(tài),必須在rc_config.xml中開啟,
目標位置:Imkit的values里面的rc_enable_metion_message置為true冰单,這時長按圖像和監(jiān)聽@觸發(fā)跳轉就會開啟幌缝;-
自定義觸發(fā)跳轉:
① 如果不需要自定義需要設置RongIM.getInstance().setGroupMembersProvider,這個提供觸發(fā)跳轉那個頁面對應的數(shù)據(jù);/** * 設置在群組中@成員信息提供者 */ private void setAtSomebodyFunction() { RongIM.getInstance().setGroupMembersProvider(new RongIM.IGroupMembersProvider() { @Override public void getGroupMembers(String s, RongIM.IGroupMemberCallback iGroupMemberCallback) { //獲取群組成員信息列表 requestGroupMemberNewForAt(s); groupMemberCallback = iGroupMemberCallback; } }); } /** * 獲取群組成員信息 * * @param s */ private RongIM.IGroupMemberCallback groupMemberCallback; private void requestGroupMemberNewForAt(String s) { TreeMap<String, String> map1 = new TreeMap<>(); map1.put("gid", String.valueOf(mTargetId)); //groupId 用于獲取群信息的字段 Constants.SN = Tools.getSignHttpSign(map1, Constants.OBTAIN_GROUP_USER); RestClient.getInstance().obtainGroupMemeber(Constants.NEW_URL + Constants.OBTAIN_GROUP_USER, map1).enqueue(new Callback<BaseResponse<List<User_RY>>>() { @Override public void onResponse(Call<BaseResponse<List<User_RY>>> call, Response<BaseResponse<List<User_RY>>> response) { if (response.isSuccessful()) { if (response.body().getCode() == 0) { List<User_RY> userList = response.body().getData(); ArrayList<UserInfo> userInfos = new ArrayList<UserInfo>(); if (null != response.body().getData() && response.body().getData().size() > 0) { for (User_RY user : userList) { if (null != user.getUid()) { UserInfo userInfo = new UserInfo(user.getUid(), user.getNick_name(), Uri.parse(user.getAvatar())); userInfos.add(userInfo); } } } groupMemberCallback.onGetGroupMembersResult(userInfos); } else { } } else { } } @Override public void onFailure(Call<BaseResponse<List<User_RY>>> call, Throwable t) { groupMemberCallback.onGetGroupMembersResult(null); } }); }
②如果需要自定義就需要設置RongMentionManager.setMentionedInputListener(IMentionedInputListener listener) 設置 @ 字符輸入監(jiān)聽器 默認的return false,所以需要return true,在這里面跳轉到觸發(fā)跳轉頁面 球凰,當選擇完成要設置 在選擇頁面設置RongMentionManager.getInstance().mentionMember(item.userInfo);
處理@所有人:
如果選擇所人狮腿,可以監(jiān)聽發(fā)送監(jiān)聽信息,通過字段@所有人的需要設置方法:
MentionedInfo mentionedInfo = new MentionedInfo(MentionedInfo.MentionedType.ALL, null, null);
txtMsg.setMentionedInfo(mentionedInfo);