Open vaibhav936 opened 2 years ago
Solved by adding this line -- //add this lone for fix this bug this will log out the login user zoomSDK.logoutZoom();
in 'flutter_zoom_sdk' android package
full code
//Join Meeting with passed Meeting ID and Passcode
private void joinMeeting(MethodCall methodCall, Result result) {
Map<String, String> options = methodCall.arguments();
ZoomSDK zoomSDK = ZoomSDK.getInstance();
if(!zoomSDK.isInitialized()) {
System.out.println("Not initialized!!!!!!");
result.success(false);
return;
}
//add this lone for fix this bug this will log out the login user
zoomSDK.logoutZoom();
MeetingService meetingService = zoomSDK.getMeetingService();
JoinMeetingOptions opts = new JoinMeetingOptions();
opts.no_invite = parseBoolean(options, "disableInvite");
opts.no_share = parseBoolean(options, "disableShare");
opts.no_titlebar = parseBoolean(options, "disableTitlebar");
opts.no_driving_mode = parseBoolean(options, "disableDrive");
opts.no_dial_in_via_phone = parseBoolean(options, "disableDialIn");
opts.no_disconnect_audio = parseBoolean(options, "noDisconnectAudio");
opts.no_audio = parseBoolean(options, "noAudio");
boolean view_options = parseBoolean(options, "viewOptions");
if(view_options){
opts.meeting_views_options = MeetingViewsOptions.NO_TEXT_MEETING_ID + MeetingViewsOptions.NO_TEXT_PASSWORD;
}
JoinMeetingParams params = new JoinMeetingParams();
params.displayName = options.get("userId");
params.meetingNo = options.get("meetingId");
params.password = options.get("meetingPassword");
Log.i("ZooomSdk", "joinMeeting: "+params);
meetingService.joinMeetingWithParams(context, params, opts);
result.success(true);
}
Same for IOS
public func joinMeeting(call: FlutterMethodCall, result: FlutterResult) {
let meetingService = MobileRTC.shared().getMeetingService()
let meetingSettings = MobileRTC.shared().getMeetingSettings()
////////////add code here/////////////
let authService = MobileRTC.shared().getAuthService()
authService?.logoutRTC()
if (meetingService != nil) {
let arguments = call.arguments as! Dictionary<String, String?>
//Setting up meeting settings for zoom sdk
meetingSettings?.disableDriveMode(parseBoolean(data: arguments["disableDrive"]!, defaultValue: false))
meetingSettings?.disableCall(in: parseBoolean(data: arguments["disableDialIn"]!, defaultValue: false))
meetingSettings?.setAutoConnectInternetAudio(parseBoolean(data: arguments["noDisconnectAudio"]!, defaultValue: false))
meetingSettings?.setMuteAudioWhenJoinMeeting(parseBoolean(data: arguments["noAudio"]!, defaultValue: false))
meetingSettings?.meetingShareHidden = parseBoolean(data: arguments["disableShare"]!, defaultValue: false)
meetingSettings?.meetingInviteHidden = parseBoolean(data: arguments["disableDrive"]!, defaultValue: false)
meetingSettings?.meetingTitleHidden = parseBoolean(data:arguments["disableTitlebar"]!, defaultValue: false)
let viewopts = parseBoolean(data:arguments["viewOptions"]!, defaultValue: false)
if viewopts {
meetingSettings?.meetingTitleHidden = true
meetingSettings?.meetingPasswordHidden = true
}
//Setting up Join Meeting parameter
let joinMeetingParameters = MobileRTCMeetingJoinParam()
//Setting up Custom Join Meeting parameter
joinMeetingParameters.userName = arguments["userId"]!!
joinMeetingParameters.meetingNumber = arguments["meetingId"]!!
let hasPassword = arguments["meetingPassword"]! != nil
if hasPassword {
joinMeetingParameters.password = arguments["meetingPassword"]!!
}
//Joining the meeting and storing the response
let response = meetingService?.joinMeeting(with: joinMeetingParameters)
if let response = response {
print("Got response from join: \(response)")
}
result(true)
} else {
result(false)
}
}
Same for IOS
public func joinMeeting(call: FlutterMethodCall, result: FlutterResult) { let meetingService = MobileRTC.shared().getMeetingService() let meetingSettings = MobileRTC.shared().getMeetingSettings() ////////////add code here///////////// let authService = MobileRTC.shared().getAuthService() authService?.logoutRTC() if (meetingService != nil) { let arguments = call.arguments as! Dictionary<String, String?> //Setting up meeting settings for zoom sdk meetingSettings?.disableDriveMode(parseBoolean(data: arguments["disableDrive"]!, defaultValue: false)) meetingSettings?.disableCall(in: parseBoolean(data: arguments["disableDialIn"]!, defaultValue: false)) meetingSettings?.setAutoConnectInternetAudio(parseBoolean(data: arguments["noDisconnectAudio"]!, defaultValue: false)) meetingSettings?.setMuteAudioWhenJoinMeeting(parseBoolean(data: arguments["noAudio"]!, defaultValue: false)) meetingSettings?.meetingShareHidden = parseBoolean(data: arguments["disableShare"]!, defaultValue: false) meetingSettings?.meetingInviteHidden = parseBoolean(data: arguments["disableDrive"]!, defaultValue: false) meetingSettings?.meetingTitleHidden = parseBoolean(data:arguments["disableTitlebar"]!, defaultValue: false) let viewopts = parseBoolean(data:arguments["viewOptions"]!, defaultValue: false) if viewopts { meetingSettings?.meetingTitleHidden = true meetingSettings?.meetingPasswordHidden = true } //Setting up Join Meeting parameter let joinMeetingParameters = MobileRTCMeetingJoinParam() //Setting up Custom Join Meeting parameter joinMeetingParameters.userName = arguments["userId"]!! joinMeetingParameters.meetingNumber = arguments["meetingId"]!! let hasPassword = arguments["meetingPassword"]! != nil if hasPassword { joinMeetingParameters.password = arguments["meetingPassword"]!! } //Joining the meeting and storing the response let response = meetingService?.joinMeeting(with: joinMeetingParameters) if let response = response { print("Got response from join: \(response)") } result(true) } else { result(false) } }
thanks for solution
When i start the meeting using 'startMeetingNormal' and end for all. then use 'joinMeeting' it will also start the meeting and show user profile pic as api key user profile pic . this is bug . please solve this.