Сбой ZXing.Mobile.Forms с НЕПРАВИЛЬНЫМ ИСКЛЮЧЕНИЕМ - PullRequest
0 голосов
/ 28 сентября 2019

Я использую библиотеку сканирования ZXing.Mobile.Forms и получаю следующую ошибку. Странно то, что она работает для сканирования подряд, но при четвертом сканировании она вылетает

09-28 15: 37: 59.887 E / mono-rt (8983): [ОШИБКА] НЕРАЗРЕШЕННОЕ СВОБОДНОЕ ИСКЛЮЧЕНИЕ: Java.Lang.RuntimeException: сбой getParameters (пустые параметры)

09-28 15:37:59.887 E/mono-rt ( 8983): [ERROR] FATAL UNHANDLED EXCEPTION: Java.Lang.RuntimeException: getParameters failed (empty parameters)
09-28 15:37:59.887 E/mono-rt ( 8983):   at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00069] in <f13ae3cb9fcf47aa8f3adccd03288827>:0 
09-28 15:37:59.887 E/mono-rt ( 8983):   at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0002a] in <f13ae3cb9fcf47aa8f3adccd03288827>:0 
09-28 15:37:59.887 E/mono-rt ( 8983):   at Android.Hardware.Camera.GetParameters () [0x0000a] in <3d3cf2a3639e4422aea8bb417e71ff8d>:0 
09-28 15:37:59.887 E/mono-rt ( 8983):   at ZXing.Mobile.CameraAccess.CameraController.ApplyCameraSettings () [0x00033] in <819b29aa6d91462699e19a679be55a44>:0 
09-28 15:37:59.887 E/mono-rt ( 8983):   at ZXing.Mobile.CameraAccess.CameraController.RefreshCamera () [0x00010] in <819b29aa6d91462699e19a679be55a44>:0 
09-28 15:37:59.887 E/mono-rt ( 8983):   at ZXing.Mobile.CameraAccess.CameraAnalyzer.RefreshCamera () [0x00001] in <819b29aa6d91462699e19a679be55a44>:0 
09-28 15:37:59.887 E/mono-rt ( 8983):   at ZXing.Mobile.ZXingSurfaceView.OnWindowFocusChanged (System.Boolean hasWindowFocus) [0x0008f] in <819b29aa6d91462699e19a679be55a44>:0 
09-28 15:37:59.887 E/mono-rt ( 8983):   at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.41(intptr,intptr)
09-28 15:37:59.887 E/mono-rt ( 8983):   at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.41(intptr,intptr)
09-28 15:37:59.887 E/mono-rt ( 8983): --- End of stack trace from previous location where exception was thrown ---
09-28 15:37:59.887 E/mono-rt ( 8983): 

Я используюследующее для захвата сканирования по нажатию кнопки, и это работает, но только для первых 3 сканирований.

public string BarCode { get; set; }

var scanPage = new ZXingScannerPage();
scanPage.ToggleTorch();
await Navigation.PushAsync(scanPage);
scanPage.OnScanResult += (result) =>
{
   // Stop scanning
   scanPage.IsScanning = false;

  // Pop the page and show the result
  Device.BeginInvokeOnMainThread(async () =>
  {
    await Navigation.PopAsync();
    BarCode = result.Text;
   }
//I call my save function here.
StockTakeTransaction stockTake = new StockTakeTransaction();
stockTake.StockTakeCountSheetItemId = item.StocktakeCountShtItemID;
stockTake.Quantity = 1;
stockTake.MobileDeviceCode = settings.DeviceID.ToString();
stockTake.WarehouseId = WarehouseId;
stockTake.MobileDeviceUser = settings.UserName.ToString();
transferList.Add(stockTake);


 SaveFunction(sender, e, stockTake);

}

Функция сохранения здесь вызывается из вышеуказанного метода

 private async void SaveFunction(object sender, EventArgs e, StockTakeTransaction StockTakeitem)
 {
     Device.BeginInvokeOnMainThread(async () => { 
            BtnScanStockTakeItem_Clicked(sender, e); });

 }

Iсделать некоторую обратную передачу в api, которая работает, поэтому я не сохраняю ее здесь, а затем снова нажимаю btn для сканирования.Довольно странно, что это происходило так, что это было QA-тестирование, которое подняло его

...