sábado, 30 de diciembre de 2017

Como hacer una linterna en Android con Xamarin


(No olvides suscribirte)

Linterna en android con Xamarin

  Una aplicación imprescindible, que en la mayoría de los casos no viene incluida en nuestros teléfonos, si tienes alguna duda puedes ver el tutorial de arriba, a continuación el código fuente 



using Android.App;
using Android.Widget;
using Android.OS;
using Android.Hardware;
using static Android.Hardware.Camera;
using Java.Lang;

namespace TutorialLinterna
{
    [Activity(Label = "TutorialLinterna", MainLauncher = true)]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            bool tieneFlash = ApplicationContext.PackageManager.HasSystemFeature(Android.Content.PM.PackageManager.FeatureCameraFlash);
            ToggleButton bswitch = FindViewById(Resource.Id.bswitch);
            TextView textoAviso = FindViewById(Resource.Id.TextoAviso);
            if (!tieneFlash)
            {
                AlertDialog alerta = new AlertDialog.Builder(this).Create();
                alerta.SetTitle("No tienes flash");
                alerta.SetMessage("Con que pensabas alumbrar si no tienes flash");
                alerta.SetButton("OK", (o, s) => { return; });
                alerta.Show();
            }
            Camera camara;
            try
            {
                camara = Camera.Open();
            }catch(RuntimeException ex)
            {
                camara = null;
            }

            bswitch.Click += (o, s) =>
            {
                if(camara != null)
                {
                    if (bswitch.Checked)
                    {
                        Parameters cparams = camara.GetParameters();
                        cparams.FlashMode = Parameters.FlashModeTorch;
                        camara.SetParameters(cparams);
                        camara.StartPreview();
                        textoAviso.Text = "Linterna encendida";
                    } else
                    {
                        Parameters cparams = camara.GetParameters();
                        cparams.FlashMode = Parameters.FlashModeOff;
                        camara.SetParameters(cparams);
                        camara.StartPreview();
                        textoAviso.Text = "Linterna apagada";
                    }
                } else
                {
                    AlertDialog alerta = new AlertDialog.Builder(this).Create();
                    alerta.SetTitle("Error!");
                    alerta.SetMessage("Hubo un error en la camara");
                    alerta.SetButton("OK", (o2, s2) => { return; });
                    alerta.Show();
                }
            };
            
        }
    }
}

Enlaces Sociales

No hay comentarios:

Publicar un comentario