protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); var PhoneNumberText = FindViewById <EditText>(Resource.Id.PhoneNumberText); var TranslateButton = FindViewById <Button>(Resource.Id.btnTranslate); var CallButton = FindViewById <Button>(Resource.Id.btnCall); CallButton.Enabled = false; var TranslatedNumber = string.Empty; TranslateButton.Click += (object sender, System.EventArgs e) => { var Translator = new PhoneApp.Translator.PhoneTranslator(); TranslatedNumber = Translator.ToNumber(PhoneNumberText.Text); if (string.IsNullOrWhiteSpace(TranslatedNumber)) { // No hay número a llamar CallButton.Text = "Llamar"; CallButton.Enabled = false; } else { // Hay un posible número telefónico a llamar CallButton.Text = $"Llamar al {TranslatedNumber}"; CallButton.Enabled = true; } }; CallButton.Click += (object sender, System.EventArgs e) => { // Intentar marcar el número telefónico var CallDialog = new global::Android.App.AlertDialog.Builder(this); CallDialog.SetMessage($"Llamar al número {TranslatedNumber}?"); CallDialog.SetNeutralButton("Llamar", delegate { // Crear un intento para marcar el número telefónico var CallIntent = new global::Android.Content.Intent( global::Android.Content.Intent.ActionCall); CallIntent.SetData( global::Android.Net.Uri.Parse($"tel:{TranslatedNumber}")); StartActivity(CallIntent); }); CallDialog.SetNegativeButton("Cancelar", delegate { }); // Mostrar el cuadro de diálogo al usuario y esperar una respuesta. CallDialog.Show(); }; }
private void CreateAndLaunchMailtoIntent(Android.Content.Context context, string url) { var mailto = Android.Net.MailTo.Parse(url); var email = new global::Android.Content.Intent(global::Android.Content.Intent.ActionSendto); //Set the data with the mailto: uri to ensure only mail apps will show up as options for the user email.SetData(global::Android.Net.Uri.Parse("mailto:")); email.PutExtra(global::Android.Content.Intent.ExtraEmail, mailto.To); email.PutExtra(global::Android.Content.Intent.ExtraCc, mailto.Cc); email.PutExtra(global::Android.Content.Intent.ExtraSubject, mailto.Subject); email.PutExtra(global::Android.Content.Intent.ExtraText, mailto.Body); context.StartActivity(email); }