# Callback are not triggering

**URL:** <https://devforum.zoom.us/t/callback-are-not-triggering/59464>\
**Category:** Android\
**Tags:** webinar\
**Created:** [October 27, 2021, 3:04pm UTC](https://devforum.zoom.us/t/callback-are-not-triggering/59464 "2021-10-27T15:04:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![cindy](https://avatars.discourse-cdn.com/v4/letter/c/a8b319/32.png) [@cindy](https://devforum.zoom.us/u/cindy)\
**Post date:** [October 27, 2021, 3:04pm UTC](https://devforum.zoom.us/t/callback-are-not-triggering/59464/1 "2021-10-27T15:04:45Z")

</div>

we tried to implement the appropriate callback, as a starting point we took up the implementation in Android first. \*\*We have implemented the ‘InMeetingServiceListener’ interface and overridden the method “onJoinWebinarNeedUserNameAndEmail” , but somehow the callback is not getting invoked  
Please guide.

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [October 27, 2021, 5:15pm UTC](https://devforum.zoom.us/t/callback-are-not-triggering/59464/2 "2021-10-27T17:15:00Z")

</div>

Hi @cindy, thanks for using our SDK.

Can you please provide a code snippet showing how you are setting up your `InMeetingServiceListener` implementation and passing into the SDK?

Thanks!

---

<div class="post-metadata">

**Author:** ![cindy](https://avatars.discourse-cdn.com/v4/letter/c/a8b319/32.png) [@cindy](https://devforum.zoom.us/u/cindy)\
**Post date:** [October 28, 2021, 8:17pm UTC](https://devforum.zoom.us/t/callback-are-not-triggering/59464/3 "2021-10-28T20:17:22Z")

</div>

```auto
package com.justwinked;
​
import android.annotation.SuppressLint;
import android.util.Log;
​
import androidx.annotation.NonNull;
​
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
​
import java.util.List;
​
import us.zoom.sdk.FreeMeetingNeedUpgradeType;
import us.zoom.sdk.InMeetingAudioController;
import us.zoom.sdk.InMeetingChatMessage;
import us.zoom.sdk.InMeetingEventHandler;
import us.zoom.sdk.InMeetingServiceListener;
import us.zoom.sdk.JoinMeetingOptions;
import us.zoom.sdk.JoinMeetingParams;
import us.zoom.sdk.MeetingError;
import us.zoom.sdk.MeetingService;
import us.zoom.sdk.MeetingServiceListener;
import us.zoom.sdk.MeetingStatus;
import us.zoom.sdk.MeetingViewsOptions;
import us.zoom.sdk.ZoomError;
import us.zoom.sdk.ZoomSDK;
import us.zoom.sdk.ZoomSDKInitParams;
import us.zoom.sdk.ZoomSDKInitializeListener;
import us.zoom.sdk.MeetingOptions;
​
​
public class ZoomManager extends ReactContextBaseJavaModule implements ZoomSDKInitializeListener, MeetingServiceListener, InMeetingServiceListener {
    private final ReactApplicationContext reactContext;
​
    public ZoomManager(ReactApplicationContext context) {
        super(context);
        this.reactContext = context;
    }
    @NonNull
​
    @Override
    public String getName() {
        return "AwesomeZoomSDK";
    }
    @SuppressLint("LongLogTag")
    @ReactMethod
    public void initZoom(String publickey, String privatekey, String domain, Promise promise){
        Log.d(this.getName(),"Init zoom:"+publickey+"and privatekey: " +privatekey+"domain: "+domain);
        try{
            this.getReactApplicationContext().getCurrentActivity().runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    ZoomSDK zoomSDK= ZoomSDK.getInstance();
                    ZoomSDKInitParams initParams= new ZoomSDKInitParams();
                    initParams.appKey=publickey;
                    initParams.appSecret=privatekey;
                    initParams.enableGenerateDump=true;
                    initParams.enableLog=true;
                    initParams.domain=domain;
                    zoomSDK.initialize(reactContext.getCurrentActivity(), (ZoomSDKInitializeListener) ZoomManager.this,initParams);
​
                }
            });
        }catch(Exception e){
            Log.e("ERR_UNEXPECTED_EXCEPTION",e.getMessage());
            promise.reject("ERR_UNEXPECTED_EXCEPTION",e);
        }
    }
​
    @ReactMethod
    public Promise joinMeeting(String displayName, String meetingNumber, String password,String email, Promise promise){
        Log.d("ou shit","Join meeing called:displayName : "+displayName+"and MeetingNumber: " +meetingNumber+"password: "+password+"Promise: "+promise);
​
        ZoomSDK zoomSDK=ZoomSDK.getInstance();
        Log.d("ou shit","Zoom SDK Value==="+zoomSDK);
        if(!zoomSDK.isInitialized()){
            promise.reject("Error Zoom start","Zoom has not been initialize successfully");
            return promise;
        }
        MeetingService meetingService=zoomSDK.getMeetingService();
        zoomSDK.getZoomUIService().prePopulateWebinarRegistrationInfo(email,"");
// zoomSDK.getMeetingSettingsHelper().get
        Log.d("ou shit","meetingService==="+meetingService);
        if(meetingService==null){
            promise.reject("Error Zoom start","Zoom meeting service has not been initialize successfully");
            return promise;
        }
    
        JoinMeetingOptions opts =new JoinMeetingOptions();
        MeetingOptions meet =new MeetingOptions();
        opts.no_invite=true;
        opts.custom_meeting_id="Winked!";
// opts.no_webinar_register_dialog=true;
        //opts.meeting_views_options= MeetingViewsOptions.NO_TEXT_MEETING_ID;
        JoinMeetingParams params=new JoinMeetingParams();
        params.displayName=displayName;
        params.meetingNo=meetingNumber;
        params.password=password;
        try{
            int joinMeetingResult=meetingService.joinMeetingWithParams(this.reactContext,params,opts);
            Log.i(this.getName(),"joinMeeting,joinMeetingResult= "+joinMeetingResult);
            if(joinMeetingResult!= MeetingError.MEETING_ERROR_SUCCESS){
                promise.reject("ERR_ZOOM_JOIN","joinMeeting , ErrorCode: "+joinMeetingResult);
            }
            Promise meetingPromise = promise;
            return meetingPromise;
        }catch(Exception e){
​
            promise.reject("JoinMeetingException:",e);
        }
        return promise;
    }
​
    @Override
    public void onZoomSDKInitializeResult(int errorCode, int internalErrorCode) {
    Log.d(this.getName(),"Initializing meeting server successful"+errorCode+"and internalErrorCode"+internalErrorCode);
​
    if(errorCode== ZoomError.ZOOM_ERROR_SUCCESS){
        Log.d(this.getName(),"Initializing meeting service successful");
        ZoomSDK zoomSDK=ZoomSDK.getInstance();
        MeetingService meetingService= zoomSDK.getMeetingService();
        if(meetingService!=null){
            Log.d(this.getName(),"Adding listener for meeting service");
            meetingService.addListener(this);
        }
    }
    }
​
    @Override
    public void onZoomAuthIdentityExpired() {
​
    }
​
    @Override
    public void onMeetingStatusChanged(MeetingStatus meetingStatus, int errorCode, int internalErrorCode) {
        Log.d(this.getName(),"MeetingStatus changed meetingStatus: "+meetingStatus+"errorCode: "+errorCode+"and internalErrorCode"+internalErrorCode);
        switch(meetingStatus){
            case MEETING_STATUS_FAILED:{
                break;
            }
            case MEETING_STATUS_DISCONNECTING:{
                break;
            }
            case MEETING_STATUS_INMEETING:{
                break;
            }
            case MEETING_STATUS_IN_WAITING_ROOM:{
                break;
            }
        }
    }
​
    @Override
    public void onMeetingNeedPasswordOrDisplayName(boolean b, boolean b1, InMeetingEventHandler inMeetingEventHandler) {
​
    }
​
    @Override
    public void onWebinarNeedRegister() {
​
    }
​
    @Override
    public void onJoinWebinarNeedUserNameAndEmail(InMeetingEventHandler inMeetingEventHandler) {
        Log.d("callback","setRegistration called");
        inMeetingEventHandler.setRegisterWebinarInfo("ABC","ABC@gmail.com",false);
​
    }
​
    @Override
    public void onMeetingNeedColseOtherMeeting(InMeetingEventHandler inMeetingEventHandler) {
​
    }
​
    @Override
    public void onMeetingFail(int i, int i1) {
​
    }
​
    @Override
    public void onMeetingLeaveComplete(long l) {
        Log.d("onMeetingLeaveComplete","s999999999999999999999999999999999");
    }
​
    @Override
    public void onMeetingUserJoin(List<Long> list) {
        Log.d("onMeetingUserJoin","-------------------------------");
    }
​
    @Override
    public void onMeetingUserLeave(List<Long> list) {
        Log.d("onMeetingUserLeave","------------------------------------");
​
    }
​
    @Override
    public void onMeetingUserUpdated(long l) {
​
    }
​
    @Override
    public void onMeetingHostChanged(long l) {
​
    }
​
    @Override
    public void onMeetingCoHostChanged(long l) {
​
    }
​
    @Override
    public void onActiveVideoUserChanged(long l) {
​
    }
​
    @Override
    public void onActiveSpeakerVideoUserChanged(long l) {
​
    }
​
    @Override
    public void onSpotlightVideoChanged(boolean b) {
​
    }
​
    @Override
    public void onUserVideoStatusChanged(long l) {
​
    }
​
    @Override
    public void onUserVideoStatusChanged(long l, VideoStatus videoStatus) {
​
    }
​
    @Override
    public void onUserNetworkQualityChanged(long l) {
​
    }
​
    @Override
    public void onMicrophoneStatusError(InMeetingAudioController.MobileRTCMicrophoneError mobileRTCMicrophoneError) {
​
    }
​
    @Override
    public void onUserAudioStatusChanged(long l) {
​
    }
​
    @Override
    public void onUserAudioStatusChanged(long l, AudioStatus audioStatus) {
​
    }
​
    @Override
    public void onHostAskUnMute(long l) {
​
    }
​
    @Override
    public void onHostAskStartVideo(long l) {
​
    }
​
    @Override
    public void onUserAudioTypeChanged(long l) {
​
    }
​
    @Override
    public void onMyAudioSourceTypeChanged(int i) {
​
    }
​
    @Override
    public void onLowOrRaiseHandStatusChanged(long l, boolean b) {
​
    }
​
    @Override
    public void onMeetingSecureKeyNotification(byte[] bytes) {
​
    }
​
    @Override
    public void onChatMessageReceived(InMeetingChatMessage inMeetingChatMessage) {
​
    }
​
    @Override
    public void onSilentModeChanged(boolean b) {
​
    }
​
    @Override
    public void onFreeMeetingReminder(boolean b, boolean b1, boolean b2) {
​
    }
​
    @Override
    public void onMeetingActiveVideo(long l) {
​
    }
​
    @Override
    public void onSinkAttendeeChatPriviledgeChanged(int i) {
​
    }
​
    @Override
    public void onSinkAllowAttendeeChatNotification(int i) {
​
    }
​
    @Override
    public void onUserNameChanged(long l, String s) {
​
    }
​
    @Override
    public void onFreeMeetingNeedToUpgrade(FreeMeetingNeedUpgradeType freeMeetingNeedUpgradeType, String s) {
​
    }
​
    @Override
    public void onFreeMeetingUpgradeToGiftFreeTrialStart() {
​
    }
​
    @Override
    public void onFreeMeetingUpgradeToGiftFreeTrialStop() {
​
    }
​
    @Override
    public void onFreeMeetingUpgradeToProMeeting() {
​
    }
​
    @Override
    public void onClosedCaptionReceived(String s) {
​
    }
​
    @Override
    public void onRecordingStatus(RecordingStatus recordingStatus) {
​
    }
}

```

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [October 29, 2021, 7:00pm UTC](https://devforum.zoom.us/t/callback-are-not-triggering/59464/4 "2021-10-29T19:00:03Z")

</div>

Hi @cindy,

Thanks for providing that. I’m not seeing anything there which indicates that you are passing an instance of your implementation into the [`addListener`](https://marketplacefront.zoom.us/sdk/meeting/android/us/zoom/sdk/InMeetingService.html#addListener-us.zoom.sdk.InMeetingServiceListener-) method. Can you confirm whether or not this is being done?

Thanks!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [November 29, 2021, 5:00am UTC](https://devforum.zoom.us/t/callback-are-not-triggering/59464/5 "2021-11-29T05:00:20Z")

</div>

Closed on November 29, 2021, 5:00am UTC

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