Maintenance is being performed on Zoom's support site on November 4 that may cause support impact. For more information, please click here.
Everything you need to work together, all in one place.
Explore Zoom One's Collaboration ToolsConnect virtually from anywhere with Zoom Meetings
Collaborate together with Zoom Chat
Call the world with Zoom Phone
Create and brainstorm with Zoom Whiteboard
Rich conversation analytics to improve sales
Send and receive messages and calendar invitations
Bring fluid interactions to hybrid teams with Zoom Huddles
Remove the hassle of traditional scheduling with Zoom Scheduler
Innovative video solutions for every meeting space.
Bring meeting spaces online with Zoom Rooms
Conference Room Connector links existing rooms to Zoom
Innovative solutions for every space
Solutions to host impactful virtual and hybrid experiences.
Find a Solution for Every EventHost hybrid and virtual events with Zoom Events
Elevate your brand with single session events powered by Zoom Sessions
Broadcast at scale with Zoom Webinars
Host and attend classes, group events, and more OnZoom
An omnichannel cloud solution optimized for video.
Engage customers with Zoom Contact Center
Deliver intelligent support with conversational AI
Optimize contact center agent performance and engagement
Zoom solutions elevate collaboration across vertical use cases.
Discover Zoom Industry SolutionsEnabling exciting new ways to teach, learn, and connect globally
Transforming client engagement and employee experiences
Improving collaboration between agencies, ministries and constituents
Connecting care, collaboration, and medical innovation
Real-time communication, anywhere in the world
Bridging the in-store and online experiences
Expert support and services for all your design, strategy, implementation, event, and hardware needs.
Global Services
Hardware purchase and subscription options
Flexible subscription plans for hardware
Protect certain data at rest with your own encryption keys
An open platform that allows developers to build Zoom apps and integrations.
Explore thousands of apps that work with or within Zoom
Documentation for building with Zoom's technology using SDKs, APIs, and webhooks
Post your questions and get help from our developer community
Zoom Partners bring Zoom's communications platform to market through alliance, sales, and service partnerships.
Explore Zoom's technology ecosystem
Find a trusted Partner
Learn about Zoom's Partner Programs
Access marketing & sales resources
Login to the Partner Portal and click 'Learn'
Discover new ways to use Zoom solutions to power your modern workforce.
Access expert-led tutorials on Zoom products and features.
Network with other Zoom users, and share your own product and industry insights.
Get documentation on deploying, managing, and using the Zoom platform.
Keep your Zoom client up to date to access the latest features.
Download CenterDownload hi-res images and animations to elevate your next Zoom meeting.
Browse Backgrounds
2023-08-06
07:20 AM
- last edited on
2023-08-28
12:06 PM
by
RN
Hello Zoom Team,
I am currently working on integrating the Zoom SDK (version - 5.13.5.11583) into our Android application.
While conducting our testing, we encountered an issue that requires your expertise and assistance. The problem arises when a user attempts to join a meeting in which the host is absent, resulting in a "waiting for host" status. Unfortunately, at this point, our application crashes, and we have been unable to pinpoint the exact cause.
To provide you with more context, the integration itself works flawlessly when the host is present, and users are successfully able to join meetings. The crashing issue occurs only when the host is not present, and the user is left in the "waiting for host" state.
In order to address this concern effectively, we kindly request your guidance in understanding the cause of the crash and any potential solutions to resolve this matter promptly. As we aim to deliver a seamless user experience with our application, your expertise is vital to ensuring the smooth functioning of Zoom SDK integration.
To assist you in your investigation, I have attached the relevant crash logs and code snippets. Additionally, here is a summary of the error encountered:
FATAL EXCEPTION: main
Process: com.drbindra.badabusiness, PID: 11077
java.lang.IllegalStateException
at com.google.android.exoplayer2.util.Assertions.checkStateNotNull(Assertions.java:116)
at com.google.android.exoplayer2.ui.PlayerView.setControllerShowTimeoutMs(PlayerView.java:859)
at com.zipow.videobox.newjoinflow.waitingview.oldui.ZmJoinFlowVideoView.onVisibilityChanged(ZmJoinFlowVideoView.java:7)
at android.view.View.dispatchVisibilityChanged(View.java:15549)
at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1618)
at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622)
at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622)
at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622)
at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622)
at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622)
at android.view.View.setFlags(View.java:17591)
at android.view.View.setVisibility(View.java:12466)
at com.zipow.videobox.newjoinflow.waitingview.oldui.ZmOldUINewJoinFlowWaitingView.setVisibility(ZmOldUINewJoinFlowWaitingView.java:2)
at com.zipow.videobox.ConfActivityNormal.switchViewTo(ConfActivityNormal.java:67)
at com.zipow.videobox.ConfActivity.switchViewToWaitingJoinView(ConfActivity.java:9)
at com.zipow.videobox.ConfActivity$y.run(ConfActivity.java:2)
at us.zoom.proguard.cg.a(EventTaskManager.java:31)
at us.zoom.proguard.cg.d(EventTaskManager.java:9)
at us.zoom.proguard.cg.a(EventTaskManager.java:17)
at us.zoom.proguard.cg.b(EventTaskManager.java:7)
at com.zipow.videobox.ConfActivity.handleUICommand(ConfActivity.java:77)
at com.zipow.videobox.ConfActivityNormal.handleUICommand(ConfActivityNormal.java:3)
at us.zoom.proguard.sg1.handleUICommand(ZmContextGroupSession.java:7)
at us.zoom.proguard.tg1.a(ZmContextGroupSessionMgr.java:22)
at us.zoom.proguard.tg1.a(ZmContextGroupSessionMgr.java:12)
at us.zoom.proguard.lf1.a(ZmConfUINativeEventImpl.java:2)
at us.zoom.proguard.ue1.a(ZmConfStateProxy.java:67)
at us.zoom.proguard.oe1.a(ZmConfStateMgr.java:58)
at com.zipow.videobox.conference.jni.ZmConfDefaultCallback.OnRequestWaitingForHost(ZmConfDefaultCallback.java:1)
at us.zoom.business.jni.ZoomCommonPTApp.dispatchIdleMessageImpl(Native Method)
at us.zoom.business.jni.ZoomCommonPTApp.dispatchIdleMessage(ZoomCommonPTApp.java:8)
at com.zipow.videobox.VideoBoxApplication$c.run(VideoBoxApplication.java:7)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8488)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
code snippets:
CoroutineScope(Dispatchers.Main).launch {
zoomSdk = ZoomSDK.getInstance()
val zoomParams = ZoomSDKInitParams()
zoomParams.appKey = “**********************”
zoomParams.domain = "zoom.us"
zoomParams.appSecret =
“********************************”
zoomParams.enableLog = true
val listener: ZoomSDKInitializeListener = object : ZoomSDKInitializeListener {
override fun onZoomSDKInitializeResult(erroCode: Int, internalErrorCode: Int) {
if (selectedSession != null) {
joinMeeting(selectedSession!!)
}
}
override fun onZoomAuthIdentityExpired() {
}
}
zoomSdk?.initialize(requireContext(), listener, zoomParams)
}
private fun joinMeeting(zoomSession: ZoomSessionDetails) {
if (zoomSession.zoom_id != null) {
val meetingService: MeetingService? = zoomSdk?.meetingService
val option = JoinMeetingOptions()
val meetingPram = JoinMeetingParams()
meetingPram.displayName = "${DataManager.getInstance().userName}"
meetingPram.meetingNo = zoomSession.zoom_id.replace(" ", "")
meetingPram.password = zoomSession.zoom_password
meetingService?.addListener(object : MeetingServiceListener {
override fun onMeetingStatusChanged(status: MeetingStatus?, p1: Int, p2: Int) {
val inMeeting = status?.equals(MeetingStatus.MEETING_STATUS_INMEETING) ?: false
Log.d("watch", "watch-duration meeting status " + status.toString())
}
override fun onMeetingParameterNotification(p0: MeetingParameter?) {
Log.d("onMeetingParameterNotification", "onMeetingParameterNotification")
}
})
val status =
meetingService?.joinMeetingWithParams(requireContext(), meetingPram, option)
Log.d("Status", "$status")
if (status != MeetingError.MEETING_ERROR_SUCCESS) {
meetingService?.leaveCurrentMeeting(true)
Handler(Looper.getMainLooper()).postDelayed({
meetingService?.joinMeetingWithParams(requireContext(), meetingPram, option)
}, 2000)
}
} else {
Utils.showCommonDialog(
requireContext(), "Zoom Error", getString(R.string.title_something_went_wrong), "OK"
) { dialog, _ -> dialog.dismiss() }
}
}
Please look into it and help me out.
Thanks
2023-08-16 10:37 AM
Hi @Anuj_Kumar16 and welcome to the Zoom Community! I'm sorry you haven't received an answer to your question yet. You may want to ask over in our Developer Forum, they will be better able to help!