public abstract class GroupInfo extends GroupBasicInfo
GroupBasicInfo.Type
构造器和说明 |
---|
GroupInfo() |
限定符和类型 | 方法和说明 |
---|---|
abstract void |
addGroupBlacklist(java.util.List<UserInfo> userInfos,
BasicCallback callback)
将用户加到群组黑名单,只有群主和管理员有此权限, 被加入黑名单的用户如果在群内会被踢出群组,黑名单中的用户无法再加入群组
操作成功后群内成员将收到群黑名单变更事件 GroupBlackListChangedEvent |
abstract void |
addGroupKeeper(java.util.List<UserInfo> userInfos,
BasicCallback callback)
添加群管理员,管理员可以移除、禁言普通群成员,并且在公开群组里可以直接添加群成员和审核入群审批
GroupApprovalEvent . |
abstract void |
addGroupSilenceWithTime(java.util.Collection<UserInfo> userInfos,
long silenceTime,
BasicCallback callback)
设置群成员禁言(可设置禁言时间,批量设置一次最多500个),群主和管理员可以禁言普通群成员,
群主和管理员不能被禁言,重复调用此接口将根据当前时间重新计算结束时间。
|
abstract void |
changeGroupAdmin(java.lang.String username,
java.lang.String appKey,
BasicCallback callback)
移交群主,将群主移交給指定群内成员,移交群主后原群主成为普通群成员.
|
abstract void |
changeGroupType(GroupBasicInfo.Type type,
BasicCallback callback)
修改群组类型,群组类型修改成功后群内所有成员会收到群类型变更事件,SDK会以类型为
EventNotificationContent.EventNotificationType.group_type_changed
的消息事件方式上报,注意只有群主有权限修改群组类型,并且如果修改后的群组类型未发生改变的话不会有事件上报 |
abstract void |
delGroupAnnouncement(int announceID,
BasicCallback callback)
删除群内指定id的公告,只有群主和管理员有权限删除
删除群公告成功时群内所有成员会收到 GroupAnnouncementChangedEvent |
abstract void |
delGroupBlacklist(java.util.List<UserInfo> userInfos,
BasicCallback callback)
将用户从群组黑名单中移除,只有群主和管理员有此权限.
|
abstract void |
delGroupSilence(java.util.Collection<UserInfo> userInfos,
BasicCallback callback)
取消群成员禁言(批量设置一次最多500个),取消禁言成功后会以系统消息形式通知群内成员
|
static GroupInfo |
fromJson(java.lang.String jsonString)
从Json字符串转换成对象, 转换失败返回null
|
static java.util.Collection<GroupInfo> |
fromJsonToGroupCollection(java.lang.String jsonString)
从Json字符串转换成Collection
|
abstract void |
getAnnouncementsByOrder(RequestCallback<java.util.List<GroupAnnouncement>> callback)
按照顺序(置顶时间倒序,创建时间倒序)获取群内所有公告.
|
abstract void |
getAvatarBitmap(GetAvatarBitmapCallback callback)
从本地获取群组头像的缩略图bitmap,如果本地存在头像缩略图文件,直接返回;若不存在,会异步从服务器拉取。
|
abstract java.io.File |
getAvatarFile()
从本地获取群头像缩略图文件,头像缩略图会在调用
JMessageClient.getGroupInfo(long, GetGroupInfoCallback)
时自动下载。 |
abstract void |
getBigAvatarBitmap(GetAvatarBitmapCallback callback)
从本地获取群组头像的原图bitmap,如果本地存在头像原图文件,直接返回;若不存在,会异步从服务器拉取。
|
abstract java.io.File |
getBigAvatarFile()
从本地获取群组头像原图文件,当群组未设置头像,或者本地不存在头像原图文件时此接口返回Null。
|
abstract void |
getGroupBlackList(RequestCallback<java.util.List<UserInfo>> callback)
获取群组的黑名单用户列表, 按照被拉黑时间倒序排列
|
abstract java.util.List<GroupMemberInfo> |
getGroupKeeperMemberInfos()
获取群管理员列表, 返回群内管理员的成员
GroupMemberInfo 列表 |
abstract java.util.List<UserInfo> |
getGroupKeepers()
已过时。
deprecated in jmessage 2.7.0 use
getGroupKeeperMemberInfos() instead |
abstract GroupMemberInfo |
getGroupMember(java.lang.String username,
java.lang.String appKey)
根据appKey跨应用获取单个群成员
GroupMemberInfo |
abstract UserInfo |
getGroupMemberInfo(java.lang.String username)
已过时。
deprecated in jmessage 1.3.0 use
getGroupMemberInfo(String, String) instead. |
abstract UserInfo |
getGroupMemberInfo(java.lang.String username,
java.lang.String appKey)
已过时。
deprecated in jmessage 2.7.0 user
getGroupMember(String, String) instead |
abstract java.util.List<GroupMemberInfo> |
getGroupMemberInfos()
获取群成员
GroupMemberInfo 列表 |
abstract java.util.List<UserInfo> |
getGroupMembers()
已过时。
deprecated in 2.7.0, use
getGroupMemberInfos() |
abstract void |
getGroupMemberSilence(java.lang.String name,
java.lang.String appkey,
RequestCallback<SilenceInfo> callback)
查询用户在群内的禁言状态,如果用户未处于禁言状态,回调中SilenceInfo为null
|
abstract java.lang.String |
getGroupOwner()
已过时。
in 2.7.0 use
getOwnerMemberInfo() instead |
abstract void |
getGroupSilenceList(RequestCallback<java.util.List<SilenceInfo>> callback)
获取群禁言列表,排序规则以添加入禁言的先后的时间倒序排序(后加入的在前)
|
abstract java.util.List<GroupMemberInfo> |
getGroupSilenceMemberInfos()
已过时。
deprecated in jmessage 2.8.2 use
getGroupSilenceList(RequestCallback) instead |
abstract java.util.List<UserInfo> |
getGroupSilenceMembers()
已过时。
deprecated in jmessage 2.7.0 use
getGroupSilenceList(RequestCallback) ()} instead |
abstract int |
getNoDisturb()
群组是否在免打扰名单中
|
abstract java.lang.String |
getOwnerAppkey()
已过时。
in 2.7.0 use
getOwnerMemberInfo() instead |
abstract GroupMemberInfo |
getOwnerMemberInfo()
获取群主的群内信息
GroupMemberInfo |
static java.lang.String |
groupCollectionToJson(java.util.Collection<GroupInfo> groupInfos)
将GroupInfo对象的集合类转换为Json字符串,使用
fromJsonToGroupCollection(String) 转换回来 |
abstract int |
isGroupBlocked()
群组是否在被屏蔽的名单中
|
abstract boolean |
isKeepSilence(java.lang.String username,
java.lang.String appKey)
已过时。
deprecated in jmessage 2.8.2 use
getGroupMemberSilence(String, String, RequestCallback) |
abstract void |
publishGroupAnnouncement(java.lang.String text,
java.lang.Boolean needSendMessage,
PublishAnnouncementCallback callback)
发布群公告(只有群主和管理员有权限发送),选择是否向群中发布消息,sendMessage为true代表发送,false不发送
注意只有发送公告成功时才会向群中发布消息,创建的消息在回调中返回,如果发送公告失败或者创建消息失败则回调中message为null。 |
abstract void |
removeGroupKeeper(java.util.List<UserInfo> userInfos,
BasicCallback callback)
取消群管理员,管理员角色描述详见官方文档群组管理员
|
abstract void |
setBlockGroupMessage(int blocked,
BasicCallback callback)
设置屏蔽群消息,设置后将不会再收到此群的消息
|
abstract void |
setGroupMemSilence(java.lang.String username,
java.lang.String appKey,
boolean keepSilence,
BasicCallback callback)
已过时。
deprecated in 2.8.2 use
#addGroupSilenceWithTime(List, long, BasicCallback) ,#delGroupSilence(List, BasicCallback) instead |
abstract void |
setMemNickname(java.lang.String username,
java.lang.String appKey,
java.lang.String nickName,
BasicCallback callback)
修改群成员昵称,群成员仅能修改自己在此群的昵称,管理员或群主修改任何普通群成员在此群的昵称,群成员类型见
GroupMemberInfo.type |
abstract void |
setNoDisturb(int noDisturb,
BasicCallback callback)
将此群组设置为免打扰。
|
abstract void |
setTopAnnouncement(int announceID,
boolean isTop,
BasicCallback callback)
设置置顶状态,本设置为改变置顶状态和置顶时间,同时会导致公告的排序发生改变
getAnnouncementsByOrder(RequestCallback) 设置成功时,群内所有成员会收到 GroupAnnouncementChangedEvent |
abstract void |
updateAvatar(java.io.File avatar,
java.lang.String format,
BasicCallback callback)
更新群组头像,建议用户在上传头像前先对头像先进行压缩,否则在调用
getBigAvatarBitmap(GetAvatarBitmapCallback)
接口拿头像的原图时,有可能会抛出OOM异常。 |
abstract void |
updateDescription(java.lang.String groupDesc,
BasicCallback callback)
修改群组描述,新的描述不允许为空
|
abstract void |
updateName(java.lang.String groupName,
BasicCallback callback)
修改群组名称,新的群名称不允许为空
|
fromJsonToGroupBasicCollection, getAvatar, getGroupDescription, getGroupFlag, getGroupID, getGroupLevel, getGroupName, getGroupType, getMaxMemberCount, groupBasicCollectionToJson, toJson
public abstract int getNoDisturb()
public abstract java.lang.String getGroupOwner()
getOwnerMemberInfo()
insteadpublic abstract java.lang.String getOwnerAppkey()
getOwnerMemberInfo()
insteadpublic abstract GroupMemberInfo getOwnerMemberInfo()
GroupMemberInfo
public abstract java.util.List<UserInfo> getGroupMembers()
getGroupMemberInfos()
public abstract java.util.List<GroupMemberInfo> getGroupMemberInfos()
GroupMemberInfo
列表@Deprecated public abstract UserInfo getGroupMemberInfo(java.lang.String username)
getGroupMemberInfo(String, String)
instead.getGroupMemberInfo(String, String)
username
- 指定群成员的usernamepublic abstract UserInfo getGroupMemberInfo(java.lang.String username, java.lang.String appKey)
getGroupMember(String, String)
insteadusername
- 指定群成员的usernameappKey
- 群成员所属的appKey,传入空则默认使用本应用appKeypublic abstract GroupMemberInfo getGroupMember(java.lang.String username, java.lang.String appKey)
GroupMemberInfo
username
- 指定群成员的usernameappKey
- 群成员所属的appKey,传入空则默认使用本应用appKeypublic abstract void setNoDisturb(int noDisturb, BasicCallback callback)
noDisturb
- 1 -- 免打扰,其他 -- 非免打扰callback
- 回调接口public abstract void setBlockGroupMessage(int blocked, BasicCallback callback)
blocked
- 1 -- 设置屏蔽; 其他(int) -- 取消屏蔽callback
- 回调接口public abstract int isGroupBlocked()
public abstract java.io.File getAvatarFile()
JMessageClient.getGroupInfo(long, GetGroupInfoCallback)
时自动下载。当此群未设置头像,或者自动下载失败时此接口返回Null。public abstract void getAvatarBitmap(GetAvatarBitmapCallback callback)
public abstract java.io.File getBigAvatarFile()
public abstract void getBigAvatarBitmap(GetAvatarBitmapCallback callback)
updateAvatar(File, String, BasicCallback)
上传头像时,若
上传的头像未经压缩处理,调此接口则有可能出现OOMpublic abstract void updateAvatar(java.io.File avatar, java.lang.String format, BasicCallback callback)
getBigAvatarBitmap(GetAvatarBitmapCallback)
接口拿头像的原图时,有可能会抛出OOM异常。
此接口可以指定头像文件在后台存储时的扩展名,如果填空或者不填,则后台存储文件时将没有扩展名。
avatar
- 头像文件format
- 文件扩展名,注意名称中不要包括"."callback
- 回调对象public abstract void updateName(java.lang.String groupName, BasicCallback callback)
groupName
- 群名称callback
- 回调接口public abstract void updateDescription(java.lang.String groupDesc, BasicCallback callback)
groupDesc
- 群组描述callback
- 回调接口public abstract void setGroupMemSilence(java.lang.String username, java.lang.String appKey, boolean keepSilence, BasicCallback callback)
#addGroupSilenceWithTime(List, long, BasicCallback)
,#delGroupSilence(List, BasicCallback)
instead#addGroupSilenceWithTime(List, long, BasicCallback)
解禁后可正常发送消息,禁言状态设置成功后群内所有成员将会收到群禁言通知事件
sdk收到群禁言通知事件后会以类型为ContentType.eventNotification
的消息事件方式上报.username
- 待设置群成员的usernameappKey
- 待设置群成员的appKey,传入空则默认使用本应用appKeykeepSilence
- //true 设置禁言, false 取消禁言callback
- public abstract java.util.List<UserInfo> getGroupSilenceMembers()
getGroupSilenceList(RequestCallback)
()} insteadgetGroupSilenceList(RequestCallback)
public abstract java.util.List<GroupMemberInfo> getGroupSilenceMemberInfos()
getGroupSilenceList(RequestCallback)
insteadGroupMemberInfo
列表
此接口废弃,将无法返回准确数据,请使用getGroupSilenceList(RequestCallback)
public abstract boolean isKeepSilence(java.lang.String username, java.lang.String appKey)
getGroupMemberSilence(String, String, RequestCallback)
getGroupMemberSilence(String, String, RequestCallback)
判断用户是否被禁言username
- 待判断用户的用户名appKey
- 待判断用户的appKey,若传入空则默认使用本应用appKeypublic abstract void addGroupKeeper(java.util.List<UserInfo> userInfos, BasicCallback callback)
GroupApprovalEvent
.
群主可以添加、取消管理员并且移除或禁言管理员userInfos
- 群成员UserInfo列表callback
- 回调public abstract void removeGroupKeeper(java.util.List<UserInfo> userInfos, BasicCallback callback)
userInfos
- 群成员UserInfo列表callback
- 回调public abstract java.util.List<UserInfo> getGroupKeepers()
getGroupKeeperMemberInfos()
insteadpublic abstract java.util.List<GroupMemberInfo> getGroupKeeperMemberInfos()
GroupMemberInfo
列表public abstract void changeGroupAdmin(java.lang.String username, java.lang.String appKey, BasicCallback callback)
EventNotificationContent.EventNotificationType.group_owner_changed
的消息事件方式上报username
- 待移交者用户名appKey
- 待移交者appKey, 若传入空则默认使用本应用appKeypublic abstract void changeGroupType(GroupBasicInfo.Type type, BasicCallback callback)
EventNotificationContent.EventNotificationType.group_type_changed
的消息事件方式上报,注意只有群主有权限修改群组类型,并且如果修改后的群组类型未发生改变的话不会有事件上报type
- 目标群组类型GroupInfo.Type
callback
- 修改群组类型结果回调public abstract void setMemNickname(java.lang.String username, java.lang.String appKey, java.lang.String nickName, BasicCallback callback)
GroupMemberInfo.type
username
- 群成员用户名appKey
- 群成员appKey,传入空则默认使用本应用appKeynickName
- 昵称callback
- 结果回调public abstract void publishGroupAnnouncement(java.lang.String text, java.lang.Boolean needSendMessage, PublishAnnouncementCallback callback)
MessageStatus
判断,
Message的extra里带有公告的实现,key为""jmessage_group_announcement", value为jsonString:
{"id": 公告id,"text":"公告内容text,"publisher_uid":发布者uid,"ctime" : 公告发布时间,"gid":群组id} 获取方式如下:String announceJson = message.getContent.getStringExtras("jmessage_group_announcement");可自己通过字段去解析json字符串,也可通过GroupAnnouncement.fromJson(String)
得到公告对象 如果needSendMessage为false, 回调中message一直为null。
群公告最多100条,超过老的将会被删除,发布群公告成功时群内所有人会收到GroupAnnouncementChangedEvent
text
- 公告内容字节数不能超过1K(utf-8)needSendMessage
- 是否需要发送消息callback
- PublishAnnouncementCallback 回调中包含创建的公告和消息public abstract void getAnnouncementsByOrder(RequestCallback<java.util.List<GroupAnnouncement>> callback)
callback
- 回调,如果获取成功但群没有公告则返回一个empty listpublic abstract void delGroupAnnouncement(int announceID, BasicCallback callback)
GroupAnnouncementChangedEvent
announceID
- 公告id 通过GroupAnnouncement.getAnnounceID()
获取callback
- 回调public abstract void setTopAnnouncement(int announceID, boolean isTop, BasicCallback callback)
getAnnouncementsByOrder(RequestCallback)
GroupAnnouncementChangedEvent
announceID
- 公告id, 通过GroupAnnouncement.getAnnounceID()
获取isTop
- true置顶, false取消置顶callback
- 回调public abstract void addGroupBlacklist(java.util.List<UserInfo> userInfos, BasicCallback callback)
GroupBlackListChangedEvent
userInfos
- 准备加入黑名单的用户userInfo集合callback
- 回调public abstract void delGroupBlacklist(java.util.List<UserInfo> userInfos, BasicCallback callback)
GroupBlackListChangedEvent
userInfos
- 准备移出黑名单的用户userInfo集合callback
- 回调public abstract void getGroupBlackList(RequestCallback<java.util.List<UserInfo>> callback)
callback
- 回调public abstract void addGroupSilenceWithTime(java.util.Collection<UserInfo> userInfos, long silenceTime, BasicCallback callback)
userInfos
- 将要被禁言的用户信息,size <= 500silenceTime
- 禁言时间,单位:毫秒, 禁言时间最少5分钟(300000毫秒),最长一年(31536000000毫秒),即300000 <= times <= 31536000000callback
- 禁言结果回调public abstract void delGroupSilence(java.util.Collection<UserInfo> userInfos, BasicCallback callback)
userInfos
- 将要被解除禁言的用户信息,size <= 500callback
- 解除禁言结果回调public abstract void getGroupSilenceList(RequestCallback<java.util.List<SilenceInfo>> callback)
callback
- 结果回调public abstract void getGroupMemberSilence(java.lang.String name, java.lang.String appkey, RequestCallback<SilenceInfo> callback)
name
- 群成员的usernameappkey
- 群成员的appKey,传入空则默认使用本应用appKeycallback
- 回调,如果用户未处于禁言状态,回调中SilenceInfo为nullpublic static java.lang.String groupCollectionToJson(java.util.Collection<GroupInfo> groupInfos)
fromJsonToGroupCollection(String)
转换回来groupInfos
- GroupInfo对象的集合public static GroupInfo fromJson(java.lang.String jsonString)
jsonString
- public static java.util.Collection<GroupInfo> fromJsonToGroupCollection(java.lang.String jsonString)
jsonString
-