群 @ 消息是指发送方监听输入栏里的输入字符,当用户输入 @ 字符后,弹出群成员选择界面。选择完需要 @ 的成员后以 “@A @B @C......”
形式显示在输入框,并可以继续编辑消息内容,完成消息发送。
接收方会在会话界面的群聊天列表,重点显示 “有人@我”
或者 “@所有人”
标识,提醒用户有人在群里 @ 自己了。
说明:目前仅支持文本 @ 消息。
监听 @ 字符选择群成员 | 编辑群 @ 消息发送 | 收到群 @ 消息 |
---|---|---|
![]() |
![]() |
![]() |
图一:在聊天界面监听到输入框输入 "@" 字符后,可以跳转到群成员选择界面,选择需要 @ 的群成员。
图二:在群成员选择完成后,重新返回聊天界面,继续编辑群 @ 消息发送。
图三:如果有消息 @ 我,自己会收到会话更新,可以在会话 Cell 展示 “有人@我” 信息。
V2TIMMessage
,昵称用于在文本框显示。createTextAtMessage
(Android / iOS & Mac / Windows) 接口创建一条 @ 文本消息,拿到消息对象 V2TIMMessage
,并在其中指定需要 @ 的成员。sendMessage
(Android / iOS & Mac / Windows) 将刚才创建的 @ 消息对象发送出去。示例代码如下:
// 群成员 user1 和 user2
List<String> atUserList = new ArrayList<>();
atUserList.add("user1");
atUserList.add("user2");
// 创建群@消息
V2TIMMessage v2TIMMessage = V2TIMManager.getMessageManager().createTextAtMessage(message, atUserList);
// 发送群@消息
V2TIMManager.getMessageManager().sendMessage(v2TIMMessage, null, "toGroupID", V2TIMMessage.V2TIM_PRIORITY_DEFAULT, false, null, new V2TIMSendCallback<V2TIMMessage>() {
@Override
public void onError(int code, String desc) {
// 群@消息发送失败
}
@Override
public void onSuccess(V2TIMMessage v2TIMMessage) {
// 群@消息发送成功
}
@Override
public void onProgress(int progress) {
}
});
V2TIMConversation
的 groupAtInfolist
(Android / iOS & Mac / Windows) 接口获取会话的 @ 数据列表。V2TIMGroupAtInfo
对象的 atType
(Android / iOS & Mac / Windows) 接口获取 @ 数据类型,并更新到当前会话的 @ 信息。示例代码如下:
//获取群@数据列表
List<V2TIMGroupAtInfo> atInfoList = conversation.getGroupAtInfoList();
// 解析@类型(@我,@所有人, @我且@所有人)
boolean atMe = false;
boolean atAll = false;
String atTips = "";
for(V2TIMGroupAtInfo atInfo : atInfoList){
if (atInfo.getAtType() == V2TIMGroupAtInfo.TIM_AT_ME){
atMe = true;
continue;
}
if (atInfo.getAtType() == V2TIMGroupAtInfo.TIM_AT_ALL){
atAll = true;
continue;
}
}
// 根据@类型,提示
if (atMe && !atAll) {
atTips = "[有人@我]";
} else if (!atMe && atAll) {
atTips = "[@所有人]";
} else if (atMe && atAll) {
atTips = "[有人@我][@所有人]";
}
本页内容是否解决了您的问题?