Exemplo n.º 1
0
        private static async void OnOpenSampleFile(string path)
        {
#if WINDOWS_UWP || __TVOS__ || __IOS__ || __ANDROID__ || __TIZEN__
            var title = "Open " + Path.GetExtension(path).ToUpperInvariant();
            await Launcher.OpenAsync(new OpenFileRequest(title, new ReadOnlyFile(path)));
#elif __MACOS__
            if (!NSWorkspace.SharedWorkspace.OpenFile(path))
            {
                var alert = new NSAlert();
                alert.AddButton("OK");
                alert.MessageText     = "SkiaSharp";
                alert.InformativeText = "Unable to open file.";
                alert.RunSheetModal(NSApplication.SharedApplication.MainWindow);
            }
#elif __DESKTOP__
            Process.Start(path);
#elif __WASM__
            var data       = File.ReadAllBytes(path);
            var gch        = GCHandle.Alloc(data, GCHandleType.Pinned);
            var pinnedData = gch.AddrOfPinnedObject();
            try
            {
                WebAssemblyRuntime.InvokeJS($"fileSaveAs('{Path.GetFileName(path)}', {pinnedData}, {data.Length})");
            }
            finally
            {
                gch.Free();
            }
#endif
        }
Exemplo n.º 2
0
        internal static Task PlatformOpenMapsAsync(Placemark placemark, MapLaunchOptions options)
        {
            placemark = placemark.Escape();
            var uri = string.Empty;

            if (options.NavigationMode == NavigationMode.None)
            {
                uri = $"bingmaps:?where=" +
                      $"{placemark.Thoroughfare}" +
                      $"%20{placemark.Locality}" +
                      $"%20{placemark.AdminArea}" +
                      $"%20{placemark.PostalCode}" +
                      $"%20{placemark.CountryName}";
            }
            else
            {
                uri = $"bingmaps:?rtp=~adr." +
                      $"{placemark.Thoroughfare}" +
                      $"%20{placemark.Locality}" +
                      $"%20{placemark.AdminArea}" +
                      $"%20{placemark.PostalCode}" +
                      $"%20{placemark.CountryName}" +
                      $"{GetMode(options.NavigationMode)}";
            }

            return(Launcher.OpenAsync(uri));
        }
Exemplo n.º 3
0
        internal static Task PlatformOpenMapsAsync(Placemark placemark, MapLaunchOptions options)
        {
            var uri = string.Empty;

            if (options.NavigationMode == NavigationMode.None)
            {
                uri = $"bingmaps:?where={placemark.GetEscapedAddress()}";
            }
            else
            {
                uri = $"bingmaps:?rtp=~adr.{placemark.GetEscapedAddress()}{GetMode(options.NavigationMode)}";
            }

            return(Launcher.OpenAsync(uri));
        }
Exemplo n.º 4
0
        private static async void OnOpenSampleFile(string path)
        {
#if WINDOWS_UWP || __TVOS__ || __IOS__ || __ANDROID__ || __TIZEN__
            var title = "Open " + Path.GetExtension(path).ToUpperInvariant();
            await Launcher.OpenAsync(new OpenFileRequest(title, new ReadOnlyFile(path)));
#elif __MACOS__
            if (!NSWorkspace.SharedWorkspace.OpenFile(path))
            {
                var alert = new NSAlert();
                alert.AddButton("OK");
                alert.MessageText     = "SkiaSharp";
                alert.InformativeText = "Unable to open file.";
                alert.RunSheetModal(NSApplication.SharedApplication.MainWindow);
            }
#elif __DESKTOP__
            Process.Start(path);
#endif
        }
Exemplo n.º 5
0
        internal static Task PlatformOpenMapsAsync(double latitude, double longitude, MapLaunchOptions options)
        {
            var lat  = latitude.ToString(CultureInfo.InvariantCulture);
            var lng  = longitude.ToString(CultureInfo.InvariantCulture);
            var name = options.Name ?? string.Empty;
            var uri  = string.Empty;

            if (options.NavigationMode == NavigationMode.None)
            {
                uri = $"bingmaps:?collection=point.{lat}_{lng}_{name}";
            }
            else
            {
                uri = $"bingmaps:?rtp=~pos.{lat}_{lng}_{name}{GetMode(options.NavigationMode)}";
            }

            return(Launcher.OpenAsync(uri));
        }
Exemplo n.º 6
0
 static Task PlatformComposeAsync(SmsMessage message)
 {
     return(Launcher.OpenAsync("sms:" + CombineRecipients(message.Recipients) + (string.IsNullOrEmpty(message.Body) ? string.Empty : "?body=" + Uri.EscapeUriString(message.Body))));
 }
Exemplo n.º 7
0
 static async void PlatformShowSettingsUI()
 => await Launcher.OpenAsync(UIApplication.OpenSettingsUrlString);
Exemplo n.º 8
0
        static void PlatformOpen(string number)
        {
            ValidateOpen(number);

            Launcher.OpenAsync("tel:" + number);
        }