Example #1
0
        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();
            };
        }
Example #2
0
        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);
        }