Check Sharing screen

Hi @carson.zoom
How to identify the whether the user is screen share or not using default UI

Is there have any methods to identify it
Version of Zoom Sdk
Here i’m using zoom sdk version : v4.6.21666.0429

Thanks :slight_smile:

Hey @aasaikeyan08

Thanks for using the dev forum!

There are a few functions related to this that should help.

In MobileMeetingService:

@brief Notify the current user if he is sharing.

@return YES means that the current user is sharing, otherwise not.

*/

  • ( BOOL )isStartingShare;

/*!

@brief Notify the current user if he is viewing the share.

@return YES means that user is viewing the share, otherwise not.

*/

  • ( BOOL )isViewingShare;

And then inMobileRTCMeetingDelegate there is:

/*!

@brief Notify users that there is no sharing for the moment.

*/

  • ( void )onOngoingShareStopped;

Finally in MobileRTCShareServiceDelegate there is:

/*!

@brief Callback event when the share starts.

@param userID The user ID of presenter.

@warning userID == 0, which means that the user stopped sharing.

*/

  • ( void )onSinkMeetingActiveShare:(NSUInteger)userID;

/*!

@brief Callback event when the sharing content changes.

@param userID The user ID of presenter.

*/

  • ( void )onSinkMeetingShareReceiving:(NSUInteger)userID;

Let me know if those are not what you are looking for.
Thanks!
Michael

Hi @Michael_Condon

Thanks for information and this is for iOS

May i know for the Android

Thanks :slight_smile:

Hey @aasaikeyan08

Oh my mistake! I thought I was in the iOS category. :man_facepalming:t2:

@jon.zoom Will be able to provide those soon.

Thanks!
Michael

Hi @jon.zoom

Could you provide for android

Hi @aasaikeyan08, I’d be happy to help!

First, you’re going to want to retrieve an instance of the InMeetingShareController through ZoomSDK.getInstance().getInMeetingService().getInMeetingShareController();.

Once you have that, you may listen for when sharing becomes active by implementing an InMeetingShareListener and responding to onShareActiveUser callbacks.

To check if a user is sharing their own screen, you can check the return value of InMeetingShareController#isSharingOut.

For more details on what you can do with sharing, please see the InMeetingShareController reference.

Thanks!

Hi @jon.zoom

Thanks for the information

It worked when i click the share-screen it returns the true
But when i click picture ,documents,web url.bookmarks and share whiteboard

How can we check with these
Here i have used
InMeetingShareController inMeetingShareController = zoomSDK.getInMeetingService().getInMeetingShareController();
inMeetingShareController.isSharingScreen();
Log.i(TAG, "onMeetingEnd: " + inMeetingShareController.isSharingScreen()); // for this sharing screen giving true when i share the screen
Log.i(TAG, "onMeetingEnd: " + inMeetingShareController.isSharingOut()); // for this when i shared the documents,picture etc it returns false

Thanks :slight_smile:

Hi @aasaikeyan08, thanks for the response.

When testing this on my end, here’s what I’m seeing in various share scenarios:

  • Sharing my screen: isSharingOut: true, isSharingScreen: true, isOtherSharing: false
  • Sharing whiteboard: isSharingOut: true, isSharingScreen: false, isOtherSharing: false
  • Sharing photo: Same as whiteboard
  • Other user sharing screen: isSharingOut: false, isSharingScreen: false, isOtherSharing: true

If you are not seeing the same values in these scenarios, please provide some more information so that I may attempt to reproduce on my end.

Thanks!

Hi @jon.zoom

I have checked my end but i’m getting the isSharingOut giving false

InMeetingShareController inMeetingShareController = zoomSDK.getInMeetingService().getInMeetingShareController();
inMeetingShareController.isSharingScreen();
Log.i(TAG, "onMeetingEnd: " + inMeetingShareController.isSharingScreen()); // for this sharing screen giving true when i share the screen
Log.i(TAG, "onMeetingEnd: " + inMeetingShareController.isSharingOut()); // for this when i shared the documents,picture etc it returns false

Im using this controller for getting the isSharingScreen and isSharingOut
But isSharingScreen getting true but not in isSharingOut
Please check it

Thanks :slight_smile:

Hi @aasaikeyan08,

That’s strange. Can you please provide a sequence of events in chronological order to verify we’re taking the same steps? I would need to know all of your interactions with the app and exactly where your log statements are called from.

Thanks!

Hi @jon.zoom

Steps to reproduce

  1. First i initiate the call so i’m a host
  2. Then i click the share button-> picture->files->it get to the phone gallery
  3. Now the isShareout get false

It is very urgent to fix the issue

Could you give your code ?

Thanks :slight_smile:

Hi @aasaikeyan08,

I don’t think the code I was using to test this would prove any more useful that the snippets I posted earlier in this conversation. In order to help figure out why you are not seeing the same results as me, it would be helpful to know where in your code you are checking state here. Without that context, I am limited in what I can do.

Thanks!

Hi thanks for supporting
Could you give the sample code for that above scenario that you have worked ?

Hi @aasaikeyan08,

As I mentioned in my previous post, the code snippets I posted earlier in this conversation contain exactly what I used to test on my end. Are you able to provide context around where you are checking the state of these booleans?

Thanks!

Hi jon leblich
I have checked the boolean condition on when the application goes background

Isscreensharing
IssharingOut

But isSharingscreen gets true
My problem is issharingout is getting false when i shared the picture when zoom is on progress within the zoom im sharing the picture

Thanks

Hi @aasaikeyan08, thanks for the info.

Checking those values when backgrounding the app doesn’t necessarily align with anything that the SDK is doing related to screen sharing. For that reason, you may see some unexpected values returned depending on when the app is backgrounded relative to the screen share workflow. For the most accurate representation of the state of the InMeetingShareController, your best bet is to implement the InMeetingShareListener I suggested earlier in this thread.

Thanks!