stntz / Xamarin.ZoomBinding

Zoom Mobile SDK Binding for Xamarin Android and iOS(device only)
15 stars 13 forks source link

Start meeting - Share application screen #18

Open markonovotny opened 4 years ago

markonovotny commented 4 years ago

Hello, when meeting is started and meeting status is "InMeeting" I have to minimize Zoom window and show application window, is it possible in Android app ? Just like iOS has start/stop share: https://marketplace.zoom.us/docs/sdk/native-sdks/iOS/mastering-zoom-sdk/in-meeting-function/customized-in-meeting-ui/share ?

stntz commented 4 years ago

Hi @markonovotny , if you follow this thread, you should be able to

https://github.com/stntz/Xamarin.ZoomBinding/issues/13#issuecomment-653676954

markonovotny commented 4 years ago

Sorry I didn't mentioned that I am using Xamarin Forms... is there some sample for share screen for Xamarin Forms ?

stntz commented 4 years ago

Hi @markonovotny

You can do that with Forms, see sample code from one of my own applications using it.

[Activity(Label = "Zoom Activity", Name = "Buddy.Droid.ZoomMeetingActivity")]
    public class ZoomMeetingActivity : MeetingActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            try
            {
                this.ActionBar.Hide();
            }
            catch (Exception ex) { }
        }
        public override void OnBackPressed()
        {
            System.Console.WriteLine("Zoom Extended Activity- Back button Pressed");
            var intent = new Intent(Xamarin.Essentials.Platform.AppContext, typeof(MainActivity));
            intent.SetAction(MainActivity.ACTION_RETURN_FROM_MEETING);
            intent.AddFlags(ActivityFlags.ReorderToFront);
            StartActivity(intent);
            //base.OnBackPressed();
        }
    }

You have to give the activity a name, so that Xamarin does not assign a unique guid to it one final thing you have to do is, set this activity in config.xml file in android resources

<resources>
    <string name="zm_config_conf_activity">Buddy.Droid.ZoomMeetingActivity</string>
</resources>>
markonovotny commented 4 years ago

Ok.. tnx, I'll try and let you know the result ..

markonovotny commented 4 years ago

Back button works, great ! So I want to call that functionallity inside OnBackPressed() from ZoomService class when OnMeetingStatusChanged event is fired and when meetingStatus is MeetingStatusInmeeting ?

stntz commented 4 years ago

you lost me there?

markonovotny commented 4 years ago

Well, I created ZoomMeetingActivity class and when meeting started i pressed back button twice and application form showed. That's what I want to achive, but can I achieve that from this class: https://github.com/stntz/Xamarin.ZoomBinding/blob/master/samples/ZoomDemo.Android/Platform/ZoomService.cs ?

markonovotny commented 3 years ago

Hello, I managed to show application screen by calling this code when meeting is InProgress: Intent intent = new Intent(Xamarin.Essentials.Platform.AppContext, typeof(MainActivity)); intent.AddFlags(ActivityFlags.ReorderToFront); MainActivity.MA.StartActivity(intent);

Now how can I display Zoom meeting screen again (meeting UI) ?

markonovotny commented 3 years ago

Found solution :) // show meeting ui var intent = new Intent(Xamarin.Essentials.Platform.AppContext, typeof(ZoomMeetingActivity)); intent.SetAction(MainActivity.ACTION_RETURN_FROM_MEETING); intent.AddFlags(ActivityFlags.ReorderToFront); ZoomMeetingActivity.ZMA.StartActivity(intent);

markonovotny commented 3 years ago

One more question. How can I override "Share content" button when meeting is started ? I want to call this code when "Share content" is pressed: Intent intent = new Intent(Xamarin.Essentials.Platform.AppContext, typeof(MainActivity)); intent.AddFlags(ActivityFlags.ReorderToFront); MainActivity.MA.StartActivity(intent);