using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; using Xamarin.Essentials; // Launcher namespace actionSheet { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } async void OnDisplayActionSheetButtonClicked(object sender, EventArgs e) { // wyświetlamy action sheet // metoda DisplayActionSheet jest asynchroniczna, czekamy na wynik jej działania string action = await DisplayActionSheet("Send to?", "Cancel", null, "Email", "Twitter", "Facebook"); // uruchamiamy Facebooka (jeśli jest zainstalowany) if (action == "Facebook") { await Launcher.OpenAsync(new Uri("fb://page/page_id")); /* // gdy Facebook jest niezainstalowany uruchamiamy przeglądarkę if (!await Launcher.TryOpenAsync("fb://page/page_id")) { await Browser.OpenAsync("https://www.facebook.com/"); } */ } // uruchamiamy Twittera (jeśli jest zainstalowany) else if (action == "Twitter") { await Launcher.OpenAsync(new Uri("twitter://user?user_id=userid")); // gdy Twitter jest niezainstalowany uruchamiamy przeglądarkę //if (!await Launcher.TryOpenAsync("twitter://user?user_id=userid")) //{ // await Browser.OpenAsync("https://twitter.com/"); //} } // uruchamiamy klienta pocztowego (jeśli jest zainstalowany) else if(action == "Email") { var address = "adres@onet.pl"; var subject = "Tytuł maila"; var content = "Treść maila"; Uri uri = new Uri($"mailto:{address}?subject={subject}&body={content}"); await Launcher.OpenAsync(uri); } } } }