创建聊天室失败是怎么回事?demo可以创建成功

10-26 20:12:56.795 2882-5220/com.locxyz.android.locx W/System.err: No response from server.: 
10-26 20:12:56.796 2882-5220/com.locxyz.android.locx W/System.err:     at org.jivesoftware.smackx.muc.MultiUserChat.create(Unknown Source)
10-26 20:12:56.796 2882-5220/com.locxyz.android.locx W/System.err:     at com.easemob.chat.EMGroupManager.createPrivateXmppMUC(Unknown Source)
10-26 20:12:56.796 2882-5220/com.locxyz.android.locx W/System.err:     at com.easemob.chat.EMGroupManager.createPrivateGroup(Unknown Source)
10-26 20:12:56.796 2882-5220/com.locxyz.android.locx W/System.err:     at com.locxyz.android.locx.chathx.ui.NewGroupActivity$2.run(NewGroupActivity.java:103)
已邀请:

jiangym

赞同来自: sunsailor

org.jivesoftware.smackx.muc.MultiUserChat.create(Unknown Source)
 
这个方法执行了以后 没有从服务器返回数据 看看请求体 和请求的代码有没有逻辑上的问题了。

sunsailor

赞同来自:

您说的对,是逻辑问题,但我不是很明白EMContactManager.getInstance().getContactUserNames();取回来的到底是环信ID还是nick?代码我看了,还是不太明白,我从自己的服务器
 
//ContactPerson为自定义数据
List<ContactPerson> contactPersons = HXChatHelper.getInstance().getContactPersonsList(); 
 
if(contactPersons == null || contactPersons.size() < 0) return; 
List<String> usernames = new ArrayList<String>(); 
if(!EMChat.getInstance().isLoggedIn()){ return; } 
Map<String, EaseUser> userlist = new HashMap<String, EaseUser>(); 
for (ContactPerson cp : contactPersons) { 
    EaseUser user = new EaseUser(cp.getPhoneNumber()); 
    user.setNick(cp.getName()); 
    //user.setAvatar(cp.getAvatar); 
    ////usernames.add(cp.getPhoneNumber()); 
    usernames.add(cp.getName()); 
    EaseCommonUtils.setUserInitialLetter(user); 
    userlist.put(cp.getPhoneNumber(), user); 
}
 
那么    
那么我用环信ID usernames.add(cp.getPhoneNumber()); 引发上述问题,而如果用nick,则创建成功    usernames.add(cp.getName()); 但是通讯录中会出现重复用户
 
您能帮我理一下吗,这儿比较困惑。

lzan13

赞同来自:

getContactUserNames 这个获取的就是用户注册环信的账户,就是username也可以叫做userid,你嗯自己定义的时候,可以保存这个值,然后再给用户保存一个nick,然后你既然获得过了user的列表,就不需要在add了

要回复问题请先登录注册

知识价值的认可,源自您的赞赏

扫描二维码,你的支付将由imGeek代收后转给对方

×