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 }
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)); }
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)); }
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 }
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)); }
static Task PlatformComposeAsync(SmsMessage message) { return(Launcher.OpenAsync("sms:" + CombineRecipients(message.Recipients) + (string.IsNullOrEmpty(message.Body) ? string.Empty : "?body=" + Uri.EscapeUriString(message.Body)))); }
static async void PlatformShowSettingsUI() => await Launcher.OpenAsync(UIApplication.OpenSettingsUrlString);
static void PlatformOpen(string number) { ValidateOpen(number); Launcher.OpenAsync("tel:" + number); }