asmack调用MultiUserChat.isServiceEnabled返回false怎么解? 本帖最后由 jinghuazhi 于 2013-12-18 14:46:31 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(mConnection); sdm.addFeature("http://jabber.org/protocol/disco#info");sdm.addFeature("http://jabber.org/protocol/disco#item");//对于ServiceDiscoveryManager,需要加上muc协议sdm.addFeature("http://jabber.org/protocol/muc"); 求问,你加上这些之后真的获得群组了吗,另求你的asmack包,谢谢,急 public List<MucRoom> getAllHostedRooms(){ List<MucRoom> rooms = new ArrayList<MucRoom>(); try { Collection<HostedRoom> hrooms = MultiUserChat.getHostedRooms(con, con.getServiceName()); if(!hrooms.isEmpty()){ for(HostedRoom r:hrooms){ RoomInfo roominfo = MultiUserChat.getRoomInfo(con, r.getJid()); SLog.i("会议室Info", roominfo.toString()); MucRoom mr = new MucRoom(); mr.setDescription(roominfo.getDescription()); mr.setName(r.getName()); mr.setJid(r.getJid()); mr.setOccupants(roominfo.getOccupantsCount()); mr.setSubject(roominfo.getSubject()); rooms.add(mr); } } } catch (XMPPException e) { SLog.e(tag, " 获取Hosted Rooms 出错"); SLog.e(tag, Log.getStackTraceString(e)); } return rooms;数据返回正常,可以查询所有 的房间名称-----------------------------------------------------------------------------------------------------------------------------------------------------//判断用户是否支持Multi-User聊天协议 //注:需要加上资源标识符 boolean supports = MultiUserChat.isServiceEnabled(con, con.getUser()); //获取某用户所加入的聊天室 if(supports) { Iterator<String> jrs = MultiUserChat.getJoinedRooms(con, con.getUser()); }supports返回总是false,楼上是怎么解决这个问题的 我这边 supports返回也总是false, 楼上是解决这个问题了吗 Android google map api v2 如可获取KEY Myeclipse的使用 多个activity中如何共享service中采集的数据 如何实现Gallery和ImageSwitcher的同步??? android-ilbc问题 将下载的东西放在系统自带的空间里 100分请教高手一个 android串口控制台和i2c超时的问题 service无法启动 seekbar显示移动节点却不显示背景 请高手帮忙给点线索,谢谢! 连接google地图,执行都ok,但是说没有安装google play service broswer中的网址添加到指定Activity中的问题
sdm.addFeature("http://jabber.org/protocol/disco#info");
sdm.addFeature("http://jabber.org/protocol/disco#item");
//对于ServiceDiscoveryManager,需要加上muc协议
sdm.addFeature("http://jabber.org/protocol/muc");
List<MucRoom> rooms = new ArrayList<MucRoom>();
try {
Collection<HostedRoom> hrooms = MultiUserChat.getHostedRooms(con, con.getServiceName());
if(!hrooms.isEmpty()){
for(HostedRoom r:hrooms){
RoomInfo roominfo = MultiUserChat.getRoomInfo(con, r.getJid());
SLog.i("会议室Info", roominfo.toString());
MucRoom mr = new MucRoom();
mr.setDescription(roominfo.getDescription());
mr.setName(r.getName());
mr.setJid(r.getJid());
mr.setOccupants(roominfo.getOccupantsCount());
mr.setSubject(roominfo.getSubject());
rooms.add(mr);
}
}
} catch (XMPPException e) {
SLog.e(tag, " 获取Hosted Rooms 出错");
SLog.e(tag, Log.getStackTraceString(e));
}
return rooms;数据返回正常,可以查询所有 的房间名称
-----------------------------------------------------------------------------------------------------------------------------------------------------
//判断用户是否支持Multi-User聊天协议
//注:需要加上资源标识符
boolean supports = MultiUserChat.isServiceEnabled(con, con.getUser());
//获取某用户所加入的聊天室
if(supports) {
Iterator<String> jrs = MultiUserChat.getJoinedRooms(con, con.getUser());
}
supports返回总是false,楼上是怎么解决这个问题的