聊天室和组聊
聊天室是一种极好的方式,在一个相互协作或多用户应用程序里来培养团队意识。
GTalk服务支持聊天室和组聊。它们同样使用相同的IChatSession接口来管理。
创建一个新的聊天室,使用IM会话的createGroupChatSession方法,传入一个聊天室的昵称和一个受邀用户的列表,如下面的代码片段所示:
String nickname = “Android Development”;
String[] contacts = { “bill”, “fred” };
imSession.createGroupChatSession(nickname, contacts);
可变通的地方,你可能想加入其他人已经邀请你的组聊。使用IGroupChatInvitationListener接口来监听组聊邀请。每个邀请包含地址和加入已有聊天室的密码。
为了加入一个已经存在的聊天室,使用活跃的IM会话的joinGroupChatSession方法,传入你想加入聊天室的地址,你识别它的昵称和加入所需要的密码,如下面的片段所示:
imSession.joinGroupChatSession(address, nickname, password);
接下来的框架代码显示了如何在一个活跃的IM会话上注册一个组聊邀请监听者,来监听和接受加入聊天室的邀请。
IGroupChatInvitationListener listener = new IGroupChatInvitationListener.Stub() {
public boolean onInvitationReceived(GroupChatInvitation _invite)
throws RemoteException {
String address = _invite.getRoomAddress();
String password = _invite.getPassword();
String nickname = _invite.getInviter();
imSession.joinGroupChatSession(address, nickname, password);
return true;
}
};
try {
imSession.addGroupChatInvitationListener(listener);