繁体   English   中英

未设置Linphone PeerAddress DisplayName

[英]Linphone PeerAddress DisplayName is not being set

我正在使用Linphone创建一个应用程序。 我正在使用以下代码创建新的LinphoneChatRoom:

public void createNewChatRoom(String destination, String name)
{
  LinphoneChatRoom[] rooms = core.getChatRooms();
  for (LinphoneChatRoom room : rooms)
  {
    Log.d("name1: " + room.getPeerAddress().getDisplayName());
  }
  LinphoneChatRoom room = core.getOrCreateChatRoom(destination);
  if (room != null)
  {
    room.getPeerAddress().setDisplayName(name);
  }
  rooms = core.getChatRooms();
  for (LinphoneChatRoom room2 : rooms)
  {
    Log.d("name2: " + room2.getPeerAddress().getDisplayName());
  }
}

在房间的第一次迭代(name1迭代)期间,我得到的所有显示名称均为空。 在房间的第二次迭代(name2迭代)中,确实添加了一个新房间,并且数组的大小为+1,但是同样,即使我刚刚设置,所有显示名称都为空。 为什么会这样呢?

搜索了一会后,我发现如果用于创建chatRoom的SIP地址包含一个,则您只会得到displayName。

我的问题是,在创建chatRoom时没有设置displayName,而是将其设置在创建后获得的变量上(而不是在chatRoom本身上)。

这样做的方法如下:

LinphoneAddress addr = LinphoneCoreFactory.instance().createLinphoneAddress(destination);
addr.setDisplayName(name);
LinphoneChatRoom room = core.getOrCreateChatRoom(addr.asString());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM