我正在使用QuickBlox
制作视频聊天应用,我要做的就是给那些拥有相同roomname
和username
的人打电话但不知道怎么做从列表中获取用户的全名。
我如何从opponentAdapter
private void startCall(boolean isVideoCall) {
if (opponentsAdapter.getSelectedItems().size() > Consts.MAX_OPPONENTS_COUNT) {
Toaster.longToast(String.format(getString(R.string.error_max_opponents_count),Consts.MAX_OPPONENTS_COUNT));
return;
}
Log.d(TAG, "startCall()");
ArrayList<Integer> opponentsList = CollectionsUtils.getIdsSelectedOpponents(opponentsAdapter.getSelectedItems());
QBRTCTypes.QBConferenceType conferenceType = isVideoCall
? QBRTCTypes.QBConferenceType.QB_CONFERENCE_TYPE_VIDEO
: QBRTCTypes.QBConferenceType.QB_CONFERENCE_TYPE_AUDIO;
QBRTCClient qbrtcClient = QBRTCClient.getInstance(getApplicationContext());
Toast.makeText(this, ""+opponentsList, Toast.LENGTH_SHORT).show();
QBRTCSession newQbRtcSession = qbrtcClient.createNewSessionWithOpponents(opponentsList, conferenceType);
WebRtcSessionManager.getInstance(this).setCurrentSession(newQbRtcSession);
PushNotificationSender.sendPushMessage(opponentsList, currentUser.getFullName());
CallActivity.start(this, false);
Log.d(TAG, "conferenceType = " + conferenceType);
}
答案 0 :(得分:1)
那么可能有两种情况。
1。获取有关来电者端的用户详细信息: - 这可以轻松完成,因为在您致电时您已经opponentsList
QbUser
,因此您可以使用列表。
2。在对手端获取来电者和其他对手信息: - 此时您将不会获得QBRTCSession
的来电者和对手信息。它只包含膜的id列表,即ArrayList<Integer> opponentsList
。
要在QBRTCSession
中提供额外信息,您可以使用UserInfo
的{{1}}属性。
我提供了创建用户信息Here的答案。你可以看看它。只需确保您不要在此地图中添加任何空值。否则它将抛出Session
因为内部XMl解析(这是旧版本中的一个问题,也许它现在已经解决)。