No action from the InMeetingService.lowerAllHands() or lowerHand methods

I am seeing no action from the InMeetingService.lowerAllHands() method. It returns SDKERR_SUCCESS but does not lower the hands in the meeting. I also do not see any action from lowerHand method when I need to just lower one hand. Accessing these commands from the UI menu does work as expected.

Android SDK version: 5.9.1.3674

Devices tested:
Android Emulator Pixel_4_XL
API: 29 Android 10

Moto X4
Android 10

Here is my sample code.

if (ZoomSDK.getInstance().isInitialized()) {
            MeetingService myMeetingS = ZoomSDK.getInstance().getMeetingService();
            if (myMeetingS.getMeetingStatus() == MeetingStatus.MEETING_STATUS_INMEETING) {
                InMeetingService inMeet = ZoomSDK.getInstance().getInMeetingService();
                if (inMeet.getMyUserInfo().getInMeetingUserRole() == InMeetingUserInfo.InMeetingUserRole.USERROLE_COHOST || inMeet.getMyUserInfo().getInMeetingUserRole() == InMeetingUserInfo.InMeetingUserRole.USERROLE_HOST ) {

                    Log.d("Zoom", "We are cohost");
                            //lower a users hand, user id as a long
                            Log.d("Zoom", "lowerhands");
                            Log.d("ZoomResponse",inMeet.lowerAllHands().toString());
                } 
                else {
                    Log.d("Zoom", "We are not host or cohost");
                    Log.d("Zoom", inMeet.getMyUserInfo().getInMeetingUserRole().toString());
                }
            } 
            else {
                Log.d("Zoom", "We are not in meeting");
                Log.d("Zoom", myMeetingS.getMeetingStatus().toString());
            }
        } 
        else {
            Log.d("Zoom", "Zoom not initialized");
        }

Hi @juanricos, thanks for the post.

I tried testing this and was unable to reproduce. Calling lowerAllHands works correctly 100% of the time. Are you able to reproduce this behavior in the SDK sample app? Does it happen for all devices/Android versions?

Thanks!

Thank you for the reply and confirmation that it does work.

With further testing I found that although lowerAllHands and lowerHands return SDKERR_SUCCESS when run on other threads, they only actually take action when run on the UI thread.

Wrapping it in a runOnUiThread did the trick.

runOnUiThread(() -> {
     ZoomSDK.getInstance().getInMeetingService().lowerAllHands();
});

Thanks again.

Hi @juanricos,

I’m glad to see that you were able to resolve this by calling it from the main thread! Please keep in mind that all SDK methods must be called from the main thread. :slightly_smiling_face:

Thanks!

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