Start meeting as a host again

When startMeetingWithParams is called again after the user goes back from default UI of video call on backPressed() he remains in the meeting and when trying to join the same meet again with same meet url and ZAK no error is coming not able to launch the SDK for meet

Welcome to the Zoom Developer Forum, @prashant.nehra! Can you share the snippet of the code used to handle joining the meeting ?

hello @donte.zoom the issue which i was facing has now been resolved as this check was missing
if (meetingService.getMeetingStatus() == MeetingStatus.MEETING_STATUS_IDLE)
meetingService.startMeetingWithParams(this, params, opts);
else meetingService.returnToMeeting(this);
but now it is working fine.
Thanks for the support

Hii @donte.zoom
Now on launching the meet as a host and waiting for the participant to join i am getting ANR(Android 13)
also attaching the log from crashlytics the meet sdk is the latest available
ANR log

@prashant.nehra ,
Can you share a snippet of code that triggers the error you are seeing?

@donte.zoom as you can see in the log file i have shared with you it is not printing any line of error for my code file


in the pic i have shared, only this is coming and log file given previously as you can see there too.
this is the code snippet i am using to launch the meet

MeetingService meetingService = mZoomSDK.getMeetingService();
                    if (meetingService == null) {
                        AndroidUtils.showToast(this, getResources().getString(R.string.err_data_retrieval_error));
                    } else {
                        meetingService.addListener(this);//register meetingServiceListener

                        StartMeetingOptions opts = new StartMeetingOptions();
                        opts.no_driving_mode = false;
                        opts.no_invite = true;
                        opts.no_video = true;
                        opts.no_audio = false;
                        opts.meeting_views_options = MeetingViewsOptions.NO_TEXT_PASSWORD;

                        StartMeetingParamsWithoutLogin params = new StartMeetingParamsWithoutLogin();
                        params.userType = USER_TYPE_UNKNOWN;
                        params.displayName = "Doctor";
                        params.zoomAccessToken = zak;
                        params.meetingNo = meetingNo;

                        if (meetingService.getMeetingStatus() == MeetingStatus.MEETING_STATUS_IDLE)
                            meetingService.startMeetingWithParams(this, params, opts);
                        else meetingService.returnToMeeting(this);

is it something related to [AEADBadTagException]…?(AEADBadTagException  |  Android Developers)
as i am using hard coded secret keys for ZoomSDKInitParams on zoomSdk.initialize

final ZoomSDK mZoomSDK = ZoomSDK.getInstance();
        ZoomSDKInitParams initParams = new ZoomSDKInitParams();
        initParams.appKey = SDK_KEY;
        initParams.appSecret = SDK_SECRET;
        initParams.enableLog = true;
        initParams.logSize = 50;
        initParams.domain = WEB_DOMAIN;
        initParams.videoRawDataMemoryMode = ZoomSDKRawDataMemoryMode.ZoomSDKRawDataMemoryModeStack;
        mZoomSDK.initialize(this, this, initParams);
AndroidKeystoreAesGcm    W  encountered a potentially transient KeyStore error, will wait and retry
                                  javax.crypto.AEADBadTagException
                                  	at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:617)
                                  	at javax.crypto.Cipher.doFinal(Cipher.java:2114)
                                  	at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.decryptInternal(AndroidKeystoreAesGcm.java:115)
                                  	at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.decrypt(AndroidKeystoreAesGcm.java:97)
                                  	at com.google.crypto.tink.KeysetHandle.decrypt(KeysetHandle.java:206)
                                  	at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:107)
                                  	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:311)
                                  	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:287)
                                  	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:238)
                                  	at us.zoom.libtools.storage.ZMEncryptedSharedPreferences.a(ZMEncryptedSharedPreferences.java:11)
                                  	at us.zoom.libtools.storage.ZMEncryptedSharedPreferences.a(ZMEncryptedSharedPreferences.java:2)
                                  	at us.zoom.libtools.storage.ZmSharePreferenceHelper.getSharedPreferences(ZmSharePreferenceHelper.java:12)
                                  	at us.zoom.libtools.storage.PreferenceUtil.readBooleanValue(PreferenceUtil.java:4)
                                  	at us.zoom.proguard.lo1.j(ZmMeetingUIHelper.java:1)
                                  	at us.zoom.proguard.lo1.a(ZmMeetingUIHelper.java:13)
                                  	at us.zoom.proguard.lo1.a(ZmMeetingUIHelper.java:1)
                                  	at us.zoom.proguard.lo1.a(ZmMeetingUIHelper.java:423)
                                  	at com.zipow.videobox.ConfActivityNormal.refreshToolbar(ConfActivityNormal.java:177)
                                  	at com.zipow.videobox.ConfActivityNormal.handleOnUserEvent(ConfActivityNormal.java:2)
                                  	at com.zipow.videobox.ConfActivityNormal.access$6300(ConfActivityNormal.java:1)
                                  	at com.zipow.videobox.ConfActivityNormal$v1.run(ConfActivityNormal.java:2)
                                  	at us.zoom.proguard.wd.a(EventTaskManager.java:31)
                                  	at us.zoom.proguard.wd.d(EventTaskManager.java:9)
                                  	at us.zoom.proguard.wd.a(EventTaskManager.java:1)
                                  	at us.zoom.proguard.wd$a.run(EventTaskManager.java:2)
                                  	at android.os.Handler.handleCallback(Handler.java:942)
                                  	at android.os.Handler.dispatchMessage(Handler.java:99)
                                  	at android.os.Looper.loopOnce(Looper.java:226)
                                  	at android.os.Looper.loop(Looper.java:313)
                                  	at android.app.ActivityThread.main(ActivityThread.java:8757)
                                  	at java.lang.reflect.Method.invoke(Native Method)
                                  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
                                  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
                                  Caused by: android.security.KeyStoreException: Signature/MAC verification failed (internal Keystore code: -30 message: In KeystoreOperation::finish
                                  
                                  Caused by:
                                      0: In finish: KeyMint::finish failed.
                                      1: Error::Km(ErrorCode(-30))) (public error code: 10 internal Keystore code: -30)
                                  	at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:418)
                                  	at android.security.KeyStoreOperation.handleExceptions(KeyStoreOperation.java:78)
                                  	at android.security.KeyStoreOperation.finish(KeyStoreOperation.java:128)
                                  	at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer$MainDataStream.finish(KeyStoreCryptoOperationChunkedStreamer.java:228)
                                  	at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.doFinal(KeyStoreCryptoOperationChunkedStreamer.java:181)
                                  	at android.security.keystore2.AndroidKeyStoreAuthenticatedAESCipherSpi$BufferAllOutputUntilDoFinalStreamer.doFinal(AndroidKeyStoreAuthenticatedAESCipherSpi.java:396)
                                  	at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:609)
                                  	... 32 more
16887 AndroidKeysetManager     W  cannot decrypt keyset: 
                                  javax.crypto.AEADBadTagException
                                  	at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:617)
                                  	at javax.crypto.Cipher.doFinal(Cipher.java:2114)
                                  	at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.decryptInternal(AndroidKeystoreAesGcm.java:115)
                                  	at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.decrypt(AndroidKeystoreAesGcm.java:101)
                                  	at com.google.crypto.tink.KeysetHandle.decrypt(KeysetHandle.java:206)
                                  	at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:107)
                                  	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:311)
                                  	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:287)
                                  	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:238)
                                  	at us.zoom.libtools.storage.ZMEncryptedSharedPreferences.a(ZMEncryptedSharedPreferences.java:11)
                                  	at us.zoom.libtools.storage.ZMEncryptedSharedPreferences.a(ZMEncryptedSharedPreferences.java:2)
                                  	at us.zoom.libtools.storage.ZmSharePreferenceHelper.getSharedPreferences(ZmSharePreferenceHelper.java:12)
                                  	at us.zoom.libtools.storage.PreferenceUtil.readBooleanValue(PreferenceUtil.java:4)
                                  	at us.zoom.proguard.lo1.j(ZmMeetingUIHelper.java:1)
                                  	at us.zoom.proguard.lo1.a(ZmMeetingUIHelper.java:13)
                                  	at us.zoom.proguard.lo1.a(ZmMeetingUIHelper.java:1)
                                  	at us.zoom.proguard.lo1.a(ZmMeetingUIHelper.java:423)
                                  	at com.zipow.videobox.ConfActivityNormal.refreshToolbar(ConfActivityNormal.java:177)
                                  	at com.zipow.videobox.ConfActivityNormal.handleOnUserEvent(ConfActivityNormal.java:2)
                                  	at com.zipow.videobox.ConfActivityNormal.access$6300(ConfActivityNormal.java:1)
                                  	at com.zipow.videobox.ConfActivityNormal$v1.run(ConfActivityNormal.java:2)
                                  	at us.zoom.proguard.wd.a(EventTaskManager.java:31)
                                  	at us.zoom.proguard.wd.d(EventTaskManager.java:9)
                                  	at us.zoom.proguard.wd.a(EventTaskManager.java:1)
                                  	at us.zoom.proguard.wd$a.run(EventTaskManager.java:2)
                                  	at android.os.Handler.handleCallback(Handler.java:942)
                                  	at android.os.Handler.dispatchMessage(Handler.java:99)
                                  	at android.os.Looper.loopOnce(Looper.java:226)
                                  	at android.os.Looper.loop(Looper.java:313)
                                  	at android.app.ActivityThread.main(ActivityThread.java:8757)
                                  	at java.lang.reflect.Method.invoke(Native Method)
                                  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
                                  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
                                  Caused by: android.security.KeyStoreException: Signature/MAC verification failed (internal Keystore code: -30 message: In KeystoreOperation::finish
                                  
                                  Caused by:
                                      0: In finish: KeyMint::finish failed.
                                      1: Error::Km(ErrorCode(-30))) (public error code: 10 internal Keystore code: -30)
                                  	at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:418)
                                  	at android.security.KeyStoreOperation.handleExceptions(KeyStoreOperation.java:78)
                                  	at android.security.KeyStoreOperation.finish(KeyStoreOperation.java:128)
                                  	at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer$MainDataStream.finish(KeyStoreCryptoOperationChunkedStreamer.java:228)
                                  	at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.doFinal(KeyStoreCryptoOperationChunkedStreamer.java:181)
                                  	at android.security.keystore2.AndroidKeyStoreAuthenticatedAESCipherSpi$BufferAllOutputUntilDoFinalStreamer.doFinal(AndroidKeyStoreAuthenticatedAESCipherSpi.java:396)
                                  	at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:609)
                                  	... 32 more

@prashant.nehra,

Is this behavior only happening with your application, or is it reproducible with the Sample SDK app?

As a test, can you follow the guidance here on generating and entering SDK JWT and share the results?

@donte.zoom this is only happening with my application and not with sample sdk app.

I don’t know the issue behind this as it not not reproducible every time.
Sometimes only the above mentioned exception in my last reply is coming as the decryption or encryption of the file is not happening.

It’s great to hear that you were able to resolve your issue! It sounds like you were missing a check to ensure that the meeting status was IDLE before calling the startMeetingWithParams function again.

By adding the check and calling returnToMeeting when the meeting status is not IDLE, you were able to properly return to the existing meeting instead of creating a new one with the same meeting URL and ZAK.

If you have any further questions or issues, feel free to ask.

Regards,
Rachel Gomez

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.