We using the ZXING library to scan the barcodes for xamarin forms app and its working fine.
But now are having issue with barcode - code128 format as its not scanning the bar codes (content length - 19 char ). Attached barcode for reference.
We using Zxing version - 2.4.1(Latest stable).
We have used the below code but its not working for both Android & iOS platforms.
Kindly suggest/provide your inputs on resolving the issue.
` private void Btn_BarcodeClicked(object sender, EventArgs e)
{
try
{
var options = new ZXing.Mobile.MobileBarcodeScanningOptions();
options.PossibleFormats = new List<ZXing.BarcodeFormat>() {
ZXing.BarcodeFormat.CODE_39,
ZXing.BarcodeFormat.CODE_93,
ZXing.BarcodeFormat.CODE_128,
ZXing.BarcodeFormat.EAN_13,
ZXing.BarcodeFormat.QR_CODE
};
options.TryHarder = false;
options.BuildBarcodeReader().Options.AllowedLengths = new[] { 44 };
var scanPage = new ZXingScannerPage(options);
scanPage.DefaultOverlayTopText = "";
scanPage.DefaultOverlayBottomText = "";
scanPage.AutoFocus();
ToolbarItem toolbarItem = new ToolbarItem();
toolbarItem.Text = "Flash ON";
toolbarItem.Clicked += (s, ex) =>
{
try
{
toolbarItem.Text = "Flash " + (toolbarItem.Text == "Flash ON" ? "OFF" : "ON");
//if (scanPage.HasTorch)
scanPage.ToggleTorch();
}
catch (Exception exx)
{
}
};
scanPage.ToolbarItems.Add(toolbarItem);
TimeSpan ts = new TimeSpan(0, 0, 0, 1, 0);
Device.StartTimer(ts, () =>
{
if (scanPage.IsScanning)
scanPage.AutoFocus();
return scanPage.IsScanning;
});
scanPage.OnScanResult += (result) =>
{
scanPage.IsScanning = false;
Device.BeginInvokeOnMainThread(async () =>
{
await DisplayAlert("Alert", result.Text, "Ok");
});
};
Navigation.PushAsync(scanPage);
}
catch (Exception ex)
{
}
}`