未设置 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,但是同样,即使我只是设置它,所有显示名称都是空的。 为什么会这样?

经过一段时间的搜索,我发现如果用于创建聊天室的 SIP 地址包含一个,您将只能得到一个显示名称。

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

操作方法如下:

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