如何获得QBuser的全名 - QuickBlox

时间:2018-03-14 10:46:14

标签: android quickblox

我正在使用QuickBlox制作视频聊天应用,我要做的就是给那些拥有相同roomnameusername的人打电话但不知道怎么做从列表中获取用户的全名。

我如何从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);
    }

1 个答案:

答案 0 :(得分:1)

那么可能有两种情况。

1。获取有关来电者端的用户详细信息: - 这可以轻松完成,因为在您致电时您已经opponentsList QbUser,因此您可以使用列表。

2。在对手端获取来电者和其他对手信息: - 此时您将不会获得QBRTCSession的来电者和对手信息。它只包含膜的id列表,即ArrayList<Integer> opponentsList

要在QBRTCSession中提供额外信息,您可以使用UserInfo的{​​{1}}属性。
我提供了创建用户信息Here的答案。你可以看看它。只需确保您不要在此地图中添加任何空值。否则它将抛出Session因为内部XMl解析(这是旧版本中的一个问题,也许它现在已经解决)。