Pregunta Xamarin forma Barcode Scanner


No pude encontrar ninguna fuente de trabajo de escáner de código de barras de formas Xamarin. ¿Hay alguna muestra de trabajo de Xamarin forma escáner de código de barras utilizando la biblioteca zxing?


5
2018-05-24 06:50


origen


Respuestas:


Puedes probar el código a continuación. Agregue la biblioteca / componente zxing a todos los proyectos en la solución

public class Home : ContentPage
{
    string message = "";
    public Home()
    {
        //Intialize the button
        Button btnScan = new Button
        {
            Text = "Start Scan",
            BackgroundColor = Color.FromRgb(207, 197, 159),
            TextColor = Color.White,
            BorderRadius = 5,
            TranslationY = 120
        };
        //Attach the click event
        btnScan.Clicked += btnScan_Clicked;

        this.Content = new StackLayout
        {
            BackgroundColor = Color.FromRgb(150, 172, 135),
            Spacing = 10,
            Padding = 25,
            Children =
            {
                btnScan
            }
        };
    }

    async void btnScan_Clicked(object sender, EventArgs e)
    {
        var scanner = new MobileBarcodeScanner();
        scanner.TopText = "Hold the camera up to the barcode\nAbout 6 inches away";
        scanner.BottomText = "Wait for the barcode to automatically scan!";

        //This will start scanning
        ZXing.Result result = await scanner.Scan();

        //Show the result returned.
        HandleResult(result);
    }

    void HandleResult(ZXing.Result result)
    {
        var msg = "No Barcode!";
        if (result != null)
        {
            msg = "Barcode: " + result.Text + " (" + result.BarcodeFormat + ")";
        }

        DisplayAlert("", msg, "Ok");
    }
}

8
2018-05-24 08:26



Es bastante sencillo,

var scanner = new MobileBarcodeScanner();
var result = await scanner.Scan();

if(result == null) 
   return;

results.Text = result.Text;

Aquí hay una muestra de XamarinForms scanning Bar y QR codes utilizando la librería XZing.

Código de muestra: https://github.com/hnabbasi/CheckInator 

Manifestación: https://www.youtube.com/watch?v=OdPinaBLbvE 


0
2017-09-15 18:56



Puedes usar ZXing.Net.Mobile.Forms. Pero tu atención

  1. La versión actual de ZXing.Net.Mobile.Forms es 2.4.1. Utilicé esta versión y la compilación falló en el proyecto Xamarin.Forms.Android. => Aplicación Crash.

    => Utilicé la versión 2.3.2. Funciona bien.

  2. En el archivo de proyecto de Android MainActivity.cs, agrega el siguiente código:

    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
    {
        global::ZXing.Net.Mobile.Forms.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }
    

    Parece, el código tutorial en aquí Es incorrecto

  3. Escáner de llamadas:

    private async void BtnScan_OnClicked(object sender, EventArgs e)
    {
        ZXingScannerPage scanPage = new ZXingScannerPage();
        scanPage.OnScanResult += (result) =>
        {
            scanPage.IsScanning = false;
            Device.BeginInvokeOnMainThread(() =>
            {
                Navigation.PopAsync();
                EtInputCode.Text = "Code: " + result.Text;
            });
        };
        await Navigation.PushAsync(scanPage);
    }
    

0
2017-08-16 08:59