Updated on 2025-07-28 GMT+08:00

Creating a Meeting

1
HWMSdk.getOpenApi.createConf(CreateConfParam, HwmCancelableCallBack)

API Description

This API is used to create an instant meeting and join the meeting immediately.

Precautions

This API applies for the audio and camera permissions of the application.

Method Definition

1
2
3
4
5
6
 /**
     * Creates a meeting.
     * @param createConfParam Indicates the createConfParam object.
     * @param hwmCallback Indicates the result callback.
     */
   void createConf(CreateConfParam createConfParam , HwmCancelableCallBack <ConfInfo> hwmCallback);

Parameter Description

Table 1 Parameter description

Parameter

Mandatory

Type

Description

createConfParam

Yes

CreateConfParam

createConfParam object.

hwmCallback

Yes

HwmCancelableCallBack

Callback object.

Return Values

None

Parameter Extension

Table 2 CreateConfParam description

Parameter

Mandatory

Type

Description

subject

Yes

String

Definition

Meeting topic.

Constraints

N/A

Range

1 to 385 characters.

Default Value

N/A

confType

Yes

ConfType

Definition

Meeting type.

CONF_AUDIO(0, "Voice meeting")

CONF_VIDEO(1, "Video meeting")

Constraints

N/A

Default Value

CONF_AUDIO

needPassword

Yes

boolean

Definition

Whether a meeting password is required.

Constraints

Valid only for meetings with a random ID.

Default Value

false

guestPwd

No

String

Definition

Guest password.

Constraints

If this parameter is left blank, the server randomly generates a value. Valid only for meetings with a random ID.

Range

0 to 64 characters.

Default Value

N/A

attendeeMembers

No

List<AttendeeModel>

Definition

Participant list (optional).

Constraints

N/A

Default Value

N/A

isCameraOn

No

boolean

Definition

Whether to enable the camera.

Constraints

N/A

Default Value

false

isMicOn

No

boolean

Definition

Whether to enable the microphone.

Constraints

N/A

Default Value

false

isRecordOn

No

boolean

Definition

Whether to enable meeting recording.

Constraints

Valid only for cloud recording, not for local recording on clients.

Default Value

false

isAutoRecord

No

boolean

Definition

Whether to automatically start recording after the meeting starts. Meeting recording must be enabled if automatic recording is enabled.

Constraints

Valid only for cloud recording, not for local recording on clients.

Default Value

false

vmrId

No

String

Definition

ID of the personal meeting or cloud meeting room.

Constraints

Required when the personal meeting is created or a cloud meeting room is used. In other cases, leave this parameter blank.

Range

0 to 128 characters.

Default Value

N/A

joinConfRestrictionType

No

JoinConfPermissionType

Definition

Users who can join the meeting.

PERMIT_EVERYONE(0, "Everyone")

PERMIT_ENTERPRISE_USER(2, "Corporate users only")

PERMIT_INVITED_USER(3, "Invited users only")

Constraints

N/A

Default Value

PERMIT_EVERYONE

customInfo

No

String

Definition

User-defined data on the device side. The server is unaware of the data.

Constraints

N/A

Range

0 to 64 characters.

Default Value

N/A

isSpeakerOff

No

boolean

Definition

Whether to disable the speakers and switch to earpieces.

Constraints

N/A

Default Value

false

concurrentParticipants

No

int

Definition

Maximum number of participants allowed.

Constraints

N/A

Range

  • 0: unlimited.
  • > 0

Default Value

0

confResType

No

ConfResType

Definition

Meeting resource type.

CONF_RESTYPE_DEFAULT(0, "Default")

CONF_RESTYPE_SHARE_VMR(3, "Shared cloud meeting room")

Constraints

  • To use a shared cloud meeting room, pass ConfResType.CONF_RESTYPE_SHARE_VMR.
  • This parameter is optional for other resource types.

Default Value

CONF_RESTYPE_DEFAULT

autoMuteMode

No

AutoMuteType

Definition

Whether to automatically mute personal client users when they join the meeting.

AUTO_MUTE_TYPE_DEFAULT(0, "Default")

AUTO_MUTE_TYPE_MUTE(1, "Mute")

AUTO_MUTE_TYPE_UNMUTE(2, "Unmute")

Constraints

N/A

Default Value

AUTO_MUTE_TYPE_DEFAULT

hardTerminalAutoMuteMode

No

AutoMuteType

Definition

Whether to automatically mute meeting room device users when they join the meeting.

AUTO_MUTE_TYPE_DEFAULT(0, "Default")

AUTO_MUTE_TYPE_MUTE(1, "Mute")

AUTO_MUTE_TYPE_UNMUTE(2, "Unmute")

Constraints

N/A

Default Value

AUTO_MUTE_TYPE_DEFAULT

defaultSummaryState

No

SummaryState

Definition

Default state of smart meeting minutes during recording.

SUMMARY_STATE_CLOSE(0, "Disabled")

SUMMARY_STATE_OPEN(1, "Enabled")

Constraints

Valid only when the enterprise configuration supports smart meeting minutes (corpEnableSummary). For details, see Notification of Enterprise Configuration Changes.

Default Value

SUMMARY_STATE_CLOSE

autoPublishSummary

No

boolean

Definition

Whether to automatically release minutes (without manual review).

Constraints

N/A

Default Value

false

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
    List<AttendeeModel> attendeeList = new ArrayList<>();
        // The following three methods are available:
	    String name = getName();
       	    String number = getNumber();
	    String thirdAccountId = getThirdAccountId();
            if (!TextUtils.isEmpty(thirdAccount)) {
                if (LoginStatusCache.getsLoginAccountInfo() instanceof AppIdAuthParam) {
                    // An app ID is used for login.
                    attendeeList.add(AttendeeModel.buildAttendeeByThirdAccountId(thirdAccount,name));
                }
            } else if(number.startsWith("+99")){
                // A SIP number is used to join the meeting.
                attendeeList.add(AttendeeModel.buildAttendeeBySipNumber(number, name));
            } else {
                // A mobile number or a fixed-line phone number is used to join the meeting.
                attendeeList.add(AttendeeModel.buildAttendeeByPhone(number, name));
            }

CreateConfParam createConfParam = new CreateConfParam()                             
     .setSubject(getSubject())                             // Set the meeting topic.
     .setConfType(ConfType.CONF_AUDIO)                        // Set the meeting type.
     .setVmrId(getVmrId())         // (Optional) Set the cloud meeting room ID.
     .setJoinConfRestrictionType(JoinConfPermissionType.PERMIT_EVERYONE)   // Specify the scope of users who are allowed to join the meeting.
     .setNeedPassword(true)                  // Specify whether to create a password.
     .setCameraOn(true)           // Specify whether to enable the camera.
     .setMicOn(true)              // Specify whether to enable the microphone.
     .setRecordOn(true)    // Specify whether to enable meeting recording.
     .setAttendeeMembers(attendeeList);    // Add participant information.

HWMSdk.getOpenApi(getActivity()).createConf(createConfParam, new HwmCancelableCallBack<ConfInfo>() {  

     // Callback invoked when a meeting is created.
     @Override              
     public void onSuccess(ConfInfo confInfo) {                    
         Log.i(TAG, "Meeting created: Meeting ID: "+ confInfo.getConfId() +
              ";Meeting password:" + confInfo.getConfPwd());              
     }
         
     // Callback invoked when a meeting fails to be created.
     @Override              
     public void onFailed(int retCode, String desc) {                             
         dismissLoading();                   
         String err = ErrorMessageFactory.create(Utils.getApp(), retCode);                   
         if (TextUtils.isEmpty(err)) {                       
            err = Utils.getApp().getString(com.huawei.hwmmobileconfui.R.string.conf_create_error);                   
         }                  
         Log.e(TAG, "Create meeting failed.: "+ err);
     }         
    @Override
    public void onCancel() {
        
    }
});