Пример #1
0
        public void ButtonEventHandler(object sender, EventArgs e)
        {
            Logger.Info("", "");

            if (sender == btnMap)
            {
                if (AppDelegate.current.locationManager.locationManager.Location != null)
                {
                    var location = new Location(AppDelegate.current.locationManager.lastKnownLocation.Coordinate.Latitude, AppDelegate.current.locationManager.lastKnownLocation.Coordinate.Longitude);
                    var loc      = AppDelegate.current.locationManager.gpsCurrentPositionObject;

                    string latString  = loc.latitudeDescription;
                    string lonString  = loc.longitudeDescription;
                    string posString  = latString + "\n" + lonString;
                    string lat        = location.Latitude.ToString(System.Globalization.CultureInfo.InvariantCulture);
                    string lon        = location.Longitude.ToString(System.Globalization.CultureInfo.InvariantCulture);
                    string linkString = "https://www.google.com/maps/search/?api=1&query=" + lat + "," + lon;
                    //       string common_share_my_position = Application.Context.Resources.GetString(Resource.String.common_share_my_position);

                    posString = posString + "\n" + linkString;

                    //      string posString = loc.latitudeDescription + "\n" + loc.longitudeDescription;

                    var shareTextRequest = new ShareTextRequest(posString, "HENSPE");
                    Share.RequestAsync(shareTextRequest);
                }
            }
        }
Пример #2
0
    public Task RequestAsync(ShareTextRequest request)
    {
        var winuiApp            = (UI.Xaml.Window)MauiWinUIApplication.Current.Application.Windows[0].Handler !.NativeView !;
        var windowsHandle       = winuiApp.GetNativeWindowHandle();
        var dataTransferManager = DataTransferManagerHelper.GetDataTransferManager(windowsHandle);

        dataTransferManager.DataRequested += ShareTextHandler;

        DataTransferManagerHelper.ShowShare(windowsHandle);

        void ShareTextHandler(DataTransferManager sender, DataRequestedEventArgs e)
        {
            var newRequest = e.Request;

            newRequest.Data.Properties.Title = request.Title ?? AppInfo.Name;

            if (!string.IsNullOrWhiteSpace(request.Text))
            {
                newRequest.Data.SetText(request.Text);
            }

            if (!string.IsNullOrWhiteSpace(request.Uri))
            {
                newRequest.Data.SetWebLink(new Uri(request.Uri));
            }

            dataTransferManager.DataRequested -= ShareTextHandler;
        }

        return(Task.CompletedTask);
    }
Пример #3
0
        public Task RequestAsync(ShareTextRequest request)
        {
            var items = new List <NSObject>();

            if (!string.IsNullOrWhiteSpace(request.Text))
            {
                items.Add(new ShareActivityItemSource(new NSString(request.Text), request.Title));
            }

            if (!string.IsNullOrWhiteSpace(request.Uri))
            {
                items.Add(new ShareActivityItemSource(NSUrl.FromString(request.Uri), request.Title));
            }

            var activityController = new UIActivityViewController(items.ToArray(), null);

            var vc = Platform.GetCurrentViewController();

            if (activityController.PopoverPresentationController != null)
            {
                activityController.PopoverPresentationController.SourceView = vc.View;

                if (request.PresentationSourceBounds != Rectangle.Zero || Platform.HasOSVersion(13, 0))
                {
                    activityController.PopoverPresentationController.SourceRect = request.PresentationSourceBounds.AsCGRect();
                }
            }

            return(vc.PresentViewControllerAsync(activityController, true));
        }
Пример #4
0
        public Task RequestAsync(ShareTextRequest request)
        {
            Permissions.EnsureDeclared <Permissions.LaunchApp>();

            var appControl = new AppControl
            {
                Operation = AppControlOperations.ShareText,
            };

            if (!string.IsNullOrEmpty(request.Text))
            {
                appControl.ExtraData.Add(AppControlData.Text, request.Text);
            }
            if (!string.IsNullOrEmpty(request.Uri))
            {
                appControl.ExtraData.Add(AppControlData.Url, request.Uri);
            }
            if (!string.IsNullOrEmpty(request.Subject))
            {
                appControl.ExtraData.Add(AppControlData.Subject, request.Subject);
            }
            if (!string.IsNullOrEmpty(request.Title))
            {
                appControl.ExtraData.Add(AppControlData.Title, request.Title);
            }

            AppControl.SendLaunchRequest(appControl);

            return(Task.CompletedTask);
        }
Пример #5
0
        public Task RequestAsync(ShareTextRequest request)
        {
            var items = new List <string>();

            if (!string.IsNullOrWhiteSpace(request.Text))
            {
                items.Add(request.Text);
            }

            if (!string.IsNullOrWhiteSpace(request.Uri))
            {
                items.Add(request.Uri);
            }

            var intent = new Intent(Intent.ActionSend);

            intent.SetType(FileSystem.MimeTypes.TextPlain);
            intent.PutExtra(Intent.ExtraText, string.Join(System.Environment.NewLine, items));

            if (!string.IsNullOrWhiteSpace(request.Subject))
            {
                intent.PutExtra(Intent.ExtraSubject, request.Subject);
            }

            var chooserIntent = Intent.CreateChooser(intent, request.Title ?? string.Empty);
            var flags         = ActivityFlags.ClearTop | ActivityFlags.NewTask;

            chooserIntent.SetFlags(flags);
            Platform.AppContext.StartActivity(chooserIntent);

            return(Task.CompletedTask);
        }
        private async void ShareCommandExecute()
        {
            //string filepath = "";
            //if (Device.RuntimePlatform == Device.Android)
            //{
            //    filepath = @"file:///android_asset/mp3/" + CurrentSample.File;
            //}
            //else if (Device.RuntimePlatform == Device.iOS)
            //{
            //    filepath = $"/sounds/{ CurrentSample.File }";
            //}

            //if (File.Exists(filepath))
            //{

            //ShareFileRequest request = new ShareFileRequest();
            //request.Title = "Partage d'un son Kaamelot de " + CurrentSample.Character;
            //request.File = new ShareFile(filepath);
            ShareTextRequest request = new ShareTextRequest();

            request.Title = "Partager avec...";
            request.Text  = "Partage d'un son Kaamelot de " + CurrentSample.Character;
            request.Uri   = @"http://www.google.fr";
            await Share.RequestAsync(request);

            //}
        }
Пример #7
0
        public Task RequestAsync(ShareTextRequest request)
        {
            var hwnd = Platform.CurrentWindowHandle;
            var dataTransferManager = DataTransferManagerHelper.GetDataTransferManager(hwnd);

            dataTransferManager.DataRequested += ShareTextHandler;

            DataTransferManagerHelper.ShowShare(hwnd);

            void ShareTextHandler(DataTransferManager sender, DataRequestedEventArgs e)
            {
                var newRequest = e.Request;

                newRequest.Data.Properties.Title = request.Title ?? AppInfo.Name;

                if (!string.IsNullOrWhiteSpace(request.Text))
                {
                    newRequest.Data.SetText(request.Text);
                }

                if (!string.IsNullOrWhiteSpace(request.Uri))
                {
                    newRequest.Data.SetWebLink(new Uri(request.Uri));
                }

                dataTransferManager.DataRequested -= ShareTextHandler;
            }

            return(Task.CompletedTask);
        }
Пример #8
0
 public async Task Share_ShareTextRequestWithInvalidTextAndUri()
 {
     var request = new ShareTextRequest
     {
         Text = null,
         Uri  = null
     };
     await Assert.ThrowsAsync <ArgumentException>(() => Share.RequestAsync(request));
 }
Пример #9
0
 async void RequestButton_Clicked(object sender, EventArgs e)
 {
     var request = new ShareTextRequest
     {
         Title   = titleEntry.Text,
         Subject = subjectEntry.Text,
         Text    = shareTextSwitch.IsToggled ? textEntry.Text : null,
         Uri     = shareUriSwitch.IsToggled ? uriEntry.Text : null
     };
     await Share.RequestAsync(request);
 }
Пример #10
0
        /// <summary>
        /// brings up the system sharing dialog
        /// </summary>
        /// <param name="sender">  </param>
        /// <param name="e">       </param>
        private async void ButtonShareToOtherMedia_Clicked(object sender, EventArgs e)
        {
            this.ButtonShareToOtherMedia.IsEnabled = false;

            ShareTextRequest request = new ShareTextRequest();

            request.Title = $"Share to other social media platforms";
            request.Text  = this.ShareText;
            request.Uri   = "https://www.bizquiz.app/";
            await Share.RequestAsync(request);

            this.ButtonShareToOtherMedia.IsEnabled = true;
        }
Пример #11
0
            private void ShareClicked(object sender, EventArgs e)
            {
                if (Henspe.Current.myLocation != null)
                {
                    string latString  = Henspe.Current.coordinatesText;
                    string lonString  = Henspe.Current.addressText;
                    string posString  = latString + "\n" + lonString;
                    string lat        = Henspe.Current.myLocation.Latitude.ToString(System.Globalization.CultureInfo.InvariantCulture);
                    string lon        = Henspe.Current.myLocation.Longitude.ToString(System.Globalization.CultureInfo.InvariantCulture);
                    string linkString = "https://www.google.com/maps/search/?api=1&query=" + lat + "," + lon;
                    string common_share_my_position = Application.Context.Resources.GetString(Resource.String.common_share_my_position);

                    posString = posString + "\n" + linkString;
                    var shareTextRequest = new ShareTextRequest(posString, common_share_my_position);
                    Share.RequestAsync(shareTextRequest);
                }
            }
Пример #12
0
        public Task RequestAsync(ShareTextRequest request)
        {
            var items = new List <NSObject>();

            if (!string.IsNullOrWhiteSpace(request.Title))
            {
                items.Add(new NSString(request.Title));
            }
            if (!string.IsNullOrWhiteSpace(request.Text))
            {
                items.Add(new NSString(request.Text));
            }
            if (!string.IsNullOrWhiteSpace(request.Uri))
            {
                items.Add(NSUrl.FromString(request.Uri));
            }

            return(PlatformShowRequestAsync(request, items));
        }
Пример #13
0
 public async Task Share_NullShareTextRequest()
 {
     ShareTextRequest request = null;
     await Assert.ThrowsAsync <ArgumentNullException>(() => Share.RequestAsync(request));
 }
Пример #14
0
 private static Task RequestAsync(ShareTextRequest shareTextRequest)
 {
     throw new NotImplementedException();
 }
 public Task RequestAsync(ShareTextRequest request) =>
 throw ExceptionUtils.NotSupportedOrImplementedException;