protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.ScanCodeQR); _surfaceView = FindViewById <SurfaceView>(Resource.Id.cameraView); _txtResult = FindViewById <TextView>(Resource.Id.txtResult); // Traemos la barra toobar Toolbar toolBar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolBar); // Una marca atrás en el icono en ActionBar SupportActionBar.SetDisplayHomeAsUpEnabled(true); // Creo el detector qr _barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); // Creo la camara _cameraSource = new CameraSource.Builder(this, _barcodeDetector) .SetRequestedPreviewSize(1600, 1024) .SetAutoFocusEnabled(true) .Build(); _surfaceView.Holder.AddCallback(this); _barcodeDetector.SetProcessor(this); }
private void BindResources() { var toolbar = FindViewById <CenteredToolbar>(Resource.Id.toolbar); toolbar.SetTitle(Resource.String.new_device_scan_title); var layout = FindViewById <LinearLayout>(Resource.Id.instruction); var instructionNumber = layout.FindViewById <AppCompatTextView>(Resource.Id.instruction_number); var instructionText = layout.FindViewById <AppCompatTextView>(Resource.Id.instruction_text); statusLabel = FindViewById <AppCompatTextView>(Resource.Id.status_label); instructionNumber.Text = "3"; instructionText.SetText(Resource.String.scan_qr_message_label); SetSupportActionBar(toolbar); this.BackPressed += NewDeviceSetupActivity_BackPressed; SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); surfaceView = FindViewById <SurfaceView>(Resource.Id.cameraView); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .Build(); surfaceView.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.QR_Code); cameraPreview = FindViewById <SurfaceView>(Resource.Id.cameraPreview); txtResult = FindViewById <TextView>(Resource.Id.txtResult); BackButton = FindViewById <Button>(Resource.Id.BackButton); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .Build(); cameraPreview.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); //ustawienie kontrolek i elementów BackButton.Click += delegate //obsługa powrotu do wyszukiwarki { Intent intent = new Intent(this, typeof(Wyszukiwarka)); this.StartActivity(intent); Finish(); }; }
public CameraPreview(Context context, bool defaultTorchOn, bool virbationOnDetected, bool startScanningOnCreate) : base(context) { Configuration.IsScanning = startScanningOnCreate; _windowManager = Context.GetSystemService(Context.WindowService).JavaCast <IWindowManager>(); _barcodeDetector = new BarcodeDetector.Builder(context) .SetBarcodeFormats(Configuration.BarcodeFormats) .Build(); _cameraSource = new CameraSource .Builder(context, _barcodeDetector) .SetRequestedPreviewSize(1280, 720) .SetAutoFocusEnabled(true) .Build(); Configuration.CameraSource = _cameraSource; _surfaceView = new SurfaceView(context); _surfaceView.Holder.AddCallback(new SurfaceHolderCallback(_cameraSource, _surfaceView)); AddView(_surfaceView); var detectProcessor = new DetectorProcessor(context, virbationOnDetected); detectProcessor.OnDetected += DetectProcessor_OnDetected; _barcodeDetector.SetProcessor(detectProcessor); if (defaultTorchOn) { AutoSwitchOnTorch(); } }
/// <summary> /// Clear and reset the model. Required Init function to be called again before calling ProcessAndRender. /// </summary> public void Clear() { if (_barcodeDetector != null) { _barcodeDetector.Dispose(); _barcodeDetector = null; } }
protected override void Dispose(bool disposing) { base.Dispose(disposing); CameraSource?.Release(); BarcodeDetector?.Release(); this.Write($"Disposed"); }
public override void Init() { if (Initialized) { return; } _initialized = true; TextRecognizer = new TextRecognizer.Builder(Android.App.Application.Context).Build(); BarcodeDetector = new BarcodeDetector.Builder(Android.App.Application.Context).SetBarcodeFormats(BarcodeFormat.QrCode).Build(); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.CodeSelection); cameraPreview = FindViewById <SurfaceView>(Resource.Id.cameraPreview); txtResult = FindViewById <TextView>(Resource.Id.txtResult); if (MainActivity.pressedButton == 1) { barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .Build(); txtResult.SetText(Resource.String.qrS); } else if (MainActivity.pressedButton == 2) { barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.Code128) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .Build(); txtResult.SetText(Resource.String.codeS); } else if (MainActivity.pressedButton == 3) { barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.Ean13) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .Build(); txtResult.SetText(Resource.String.eanS); } cameraPreview.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); previewCamara = FindViewById <SurfaceView>(Resource.Id.previewCamara); txtResultado = FindViewById <TextView>(Resource.Id.txtResultado); detector = new BarcodeDetector.Builder(this).SetBarcodeFormats(BarcodeFormat.QrCode).Build(); camara = new CameraSource.Builder(this, detector).SetRequestedPreviewSize(1280, 720).Build(); previewCamara.Holder.AddCallback(this); detector.SetProcessor(this); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.BarcodeScannerLayout); FindViews(); HandleEvents(); _barcodeDetector = new BarcodeDetector.Builder(this).SetBarcodeFormats(BarcodeFormat.QrCode | BarcodeFormat.DataMatrix | BarcodeFormat.Codabar | BarcodeFormat.Code128 | BarcodeFormat.Code39 | BarcodeFormat.Code93 | BarcodeFormat.Ean13 | BarcodeFormat.Ean8 | BarcodeFormat.Itf | BarcodeFormat.Pdf417 | BarcodeFormat.UpcA | BarcodeFormat.UpcE).Build();//setting specific barcode type _cameraSource = new CameraSource.Builder(this, _barcodeDetector).SetAutoFocusEnabled(true).SetRequestedPreviewSize(1000, 1000).Build(); _cameraPreview.Holder.AddCallback(this); _barcodeDetector.SetProcessor(this); }
protected override void OnElementChanged(ElementChangedEventArgs <BarcodeScanner> e) { base.OnElementChanged(e); surfaceView = new SurfaceView(Context); surfaceView.Holder.AddCallback(this); SetNativeControl(surfaceView); Element.MaxZoom = maxZoom; Element.SlideToZoom = 1; barcodeDetector = new BarcodeDetector.Builder(Context) .SetBarcodeFormats(GetBarcodeFormat(Element.BarcodeType)) .Build(); barcodeDetector.SetProcessor(this); }
/// <summary> /// Detects barcodes. /// </summary> /// <returns>A message.</returns> public async Task <string> Detect() { TizenMM::Rectangle roi = new TizenMM::Rectangle(_point, _size); var detectedBarcode = await BarcodeDetector.DetectAsync(_mvSource, roi); _numberOfBarcodes = detectedBarcode.Count(); _messages = new List <string>(); foreach (TizenMM.Vision.Barcode barcode in detectedBarcode) { _messages.Add(barcode.Message); } return(_imagePath); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_scan_vision); surfaceView = FindViewById <SurfaceView>(Resource.Id.cameraView); txtResult = FindViewById <TextView>(Resource.Id.txtResult); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .Build(); surfaceView.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.ScanLayout); mode = this.Intent.GetStringExtra("mode"); InitActionBar(); surfaceview = FindViewById <SurfaceView>(Resource.Id.surfaceView1); detector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.Ean13 | BarcodeFormat.Ean8 | BarcodeFormat.QrCode) .Build(); cSource = new CameraSource.Builder(this, detector) .SetRequestedPreviewSize(1000, 1000) .SetAutoFocusEnabled(true) .Build(); surfaceview.Holder.AddCallback(this); detector.SetProcessor(this); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.QR_layout); surfaceView = FindViewById <SurfaceView>(Resource.Id.surfaceView1); txtResult = FindViewById <TextView>(Resource.Id.QR_textView); //Bitmap bitMap = BitmapFactory.DecodeResource(ApplicationContext.Resources, Resource.Drawable.qrcode); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .Build(); surfaceView.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Create your application here SetContentView(Resource.Layout.QRCodeScanner); cameraPreview = FindViewById <SurfaceView>(Resource.Id.cameraPreview); txtResult = FindViewById <TextView>(Resource.Id.cameraPreviewtetxtView); qrgenerator = FindViewById <Button>(Resource.Id.qrgeneratorbutton); barcodeDetector = new BarcodeDetector.Builder(this).SetBarcodeFormats(BarcodeFormat.QrCode).Build(); cameraSource = new CameraSource.Builder(this, barcodeDetector).SetRequestedPreviewSize(700, 500).Build(); cameraPreview.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Register); cameraPreview = FindViewById <SurfaceView>(Resource.Id.cameraPreview); txtResult = FindViewById <TextView>(Resource.Id.txtResult); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetAutoFocusEnabled(true) .SetRequestedPreviewSize(1000, 1000) .Build(); cameraPreview.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
private void Init() { mStartRequested = false; mSurfaceAvailable = false; mAppIdProcessor = new BarcodeDetectorProcessor(this); mBarcodeDetector = new BarcodeDetector.Builder(Context) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); mBarcodeDetector.SetProcessor(mAppIdProcessor); mCameraBuilder = new CameraSource.Builder(Context, mBarcodeDetector) .SetFacing(CameraFacing.Back) .SetAutoFocusEnabled(true) .SetRequestedFps(30.0f); mSurfaceView = new SurfaceView(Context); mSurfaceView.Holder.AddCallback(new SurfaceCallback(this)); AddView(mSurfaceView); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.googlescanlayout); cameraview = FindViewById <SurfaceView>(Resource.Id.cameraPreview); txtresult = FindViewById <TextView>(Resource.Id.txtresultview); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .SetAutoFocusEnabled(true) //---- .Build(); // Create your application here cameraview.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
/*public async Task<string> ReadQRCode() * { * await StartScanning(); * return result; * }*/ #endregion public async Task StartScanning() { //cameraPreview = FindViewById<SurfaceView>(Resource.Id.cameraPreview); cameraPreview = new SurfaceView(this); SetContentView(cameraPreview); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .SetAutoFocusEnabled(true) .Build(); cameraPreview.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource // SetContentView(Resource.Layout.QrCode); surfaceView = FindViewById <SurfaceView>(Resource.Id.cameraView); txtResult = FindViewById <TextView>(Resource.Id.txtResult); Bitmap bitMap = BitmapFactory.DecodeResource(ApplicationContext .Resources, Resource.Drawable.logo_3m); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(1600, 1024) .SetAutoFocusEnabled(true) .SetRequestedFps(24.0f) .Build(); surfaceView.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); cameraPreview = FindViewById <SurfaceView>(Resource.Id.cameraPreview); txtResult = FindViewById <TextView>(Resource.Id.txtResult); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.QrCode) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(1280, 720) .SetRequestedFps(30.0f) .SetAutoFocusEnabled(true) .Build(); cameraPreview.Holder.AddCallback(this); cameraPreview.SetOnClickListener(this); barcodeDetector.SetProcessor(this); }
protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.View> e) { base.OnElementChanged(e); try { if (e.OldElement != null || Element == null) { return; } var activity = this.Context as Activity; _View = activity.LayoutInflater.Inflate(Resource.Layout.BarcodeScanView, this, false); AddView(_View); _SurfaceView = FindViewById <SurfaceView>(Resource.Id.barcodeScanView); var view = (BarcodeScanView)this.Element; _BarcodeDetector = new BarcodeDetector.Builder(this.Context) .SetBarcodeFormats(XamBarcodeFormatToAndroid(view.BarcodeFormat)) .Build(); _CameraSource = new CameraSource .Builder(this.Context, _BarcodeDetector) .SetFacing(CameraFacing.Back) //default to back .SetAutoFocusEnabled(true) //default to false .SetRequestedPreviewSize(1024, 768) //default to 1024x768 .SetRequestedFps(30f) //default to 30 fps .Build(); _SurfaceView.Holder.AddCallback(this); _BarcodeDetector.SetProcessor(this); } catch (Exception ex) { Console.WriteLine("DROID_SCAN | OnElementChanged error", ex); } }
public async Task Init( System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) #endif { if (_barcodeDetector == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/WeChatCV/opencv_3rdparty/raw/wechat_qrcode/sr.prototxt", _modelFolderName, "8AE41ACBA97E8B4A8E741EE350481E49B8E01D787193F470A4C95EE1C02D5B61"); manager.AddFile( "https://github.com/WeChatCV/opencv_3rdparty/raw/wechat_qrcode/sr.caffemodel", _modelFolderName, "E5D36889D8E6EF2F1C1F515F807CEC03979320AC81792CD8FB927C31FD658AE3"); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL yield return(manager.Download()); #else await manager.Download(); #endif if (manager.AllFilesDownloaded) { _barcodeDetector = new BarcodeDetector( manager.Files[0].LocalFile, manager.Files[1].LocalFile ); } } }
public BarCodeCameraPreview(Context context) : base(context) { windowManager = Context.GetSystemService(Context.WindowService).JavaCast <IWindowManager>(); barcodeDetector = new BarcodeDetector.Builder(context) .SetBarcodeFormats(BarCodeCamera.BarcodeFormats) .Build(); cameraSource = new CameraSource .Builder(context, barcodeDetector) //.SetRequestedPreviewSize(1024, 768) .SetAutoFocusEnabled(true) .SetRequestedFps(30.0f) .Build(); surfaceView = new SurfaceView(context); surfaceView.Holder.AddCallback(new BarcodeSurfaceHolderCallback(cameraSource, surfaceView, this)); AddView(surfaceView); barcodeDetectorProcessor = new BarCodeDetectorProcessor(context, cameraSource); barcodeDetectorProcessor.OnDetected += DetectProcessor_OnDetected; barcodeDetector.SetProcessor(barcodeDetectorProcessor); }
public CameraPreview(Context context) : base(context) { windowManager = Context.GetSystemService(Context.WindowService).JavaCast <IWindowManager>(); barcodeDetector = new BarcodeDetector.Builder(context) .SetBarcodeFormats(Configuration.BarcodeFormats) .Build(); cameraSource = new CameraSource .Builder(context, barcodeDetector) .SetRequestedPreviewSize(640, 480) .SetAutoFocusEnabled(true) .Build(); Configuration.CameraSource = cameraSource; surfaceView = new SurfaceView(context); surfaceView.Holder.AddCallback(new SurfaceHolderCallback(cameraSource, surfaceView)); AddView(surfaceView); var detectProcessor = new DetectorProcessor(context); detectProcessor.OnDetected += DetectProcessor_OnDetected; barcodeDetector.SetProcessor(detectProcessor); }
public void ReceiveDetections(Detections detections) { var codes = detections.DetectedItems; if (codes.Size() == 0) { return; } if (Task != null) { if (Task.IsCanceled) { Task = null; RunOnUiThread(() => { ShowToastMessage("Task.IsCanceled", ToastLength.Long); }); Thread.Sleep(5000); return; } if (Task.IsFaulted) { Task = null; RunOnUiThread(() => { ShowToastMessage("Task.IsFaulted", ToastLength.Long); }); Thread.Sleep(5000); return; } if (Task.IsCompletedSuccessfully) { Task = null; RunOnUiThread(() => { ShowToastMessage("Task.IsCompletedSuccessfully", ToastLength.Long); }); Thread.Sleep(5000); return; } if (Task.IsCompleted) { Task = null; RunOnUiThread(() => { ShowToastMessage("Task.IsCompleted", ToastLength.Long); }); Thread.Sleep(5000); return; } ShowToastMessage(Task.Status.ToString()); Thread.Sleep(5000); return; } BarcodeDetector.Release(); var barcode = (Barcode)codes.ValueAt(0); _scannedBarcode = barcode.RawValue; CameraPreviewProgressBar.Visibility = ViewStates.Visible; RunOnUiThread(() => { ShowToastMessage(_scannedBarcode, ToastLength.Long); }); Thread.Sleep(5000); if (!_callback) { Task = Task.Run(async() => { try { var result = await ProductService.GetProductByBarcode(_scannedBarcode); if (result.Error.Any()) { var message = Resources.GetString(Resource.String.ProductBarcodeNotFound); RunOnUiThread(() => { BarcodeDetector.SetProcessor(this); ShowToastMessage(message, ToastLength.Long); }); return; } RunOnUiThread(() => { NavigationManager.GoToProductDetails(result.Data); }); } catch (Exception ex) { RunOnUiThread(() => { BarcodeDetector.SetProcessor(this); ShowToastMessage(ex.Message, ToastLength.Long); }); } }); } else { NavigationManager.GoToPrevious(); } }
public static async Task <Result> AnalyzeBarcodeAsync(MediaVisionSource source) { var point = new Point(0, 0); var size = new Size((int)source.Width, (int)source.Height); var roi = new Rectangle(point, size); try { var barcodeLists = await BarcodeDetector.DetectAsync(source, roi); if (barcodeLists.Count() == 0) { return(null); } var resultBarcode = barcodeLists.FirstOrDefault(); var text = resultBarcode.Message; var rawbytes = new byte[source.Buffer.Length]; source.Buffer.CopyTo(rawbytes, 0, source.Buffer.Length); ResultPoint[] resultPoint = { new ResultPoint(resultBarcode.Region.Points.ElementAt(0).X, resultBarcode.Region.Points.ElementAt(0).Y), new ResultPoint(resultBarcode.Region.Points.ElementAt(1).X, resultBarcode.Region.Points.ElementAt(1).Y), new ResultPoint(resultBarcode.Region.Points.ElementAt(2).X, resultBarcode.Region.Points.ElementAt(2).Y), new ResultPoint(resultBarcode.Region.Points.ElementAt(3).X, resultBarcode.Region.Points.ElementAt(3).Y) }; BarcodeFormat format; switch (resultBarcode.Type) { case BarcodeType.Code128: format = BarcodeFormat.CODE_128; break; case BarcodeType.Code39: format = BarcodeFormat.CODE_39; break; case BarcodeType.Ean13: format = BarcodeFormat.EAN_13; break; case BarcodeType.Ean8: format = BarcodeFormat.EAN_8; break; case BarcodeType.I25: format = BarcodeFormat.ITF; break; case BarcodeType.QR: format = BarcodeFormat.QR_CODE; break; case BarcodeType.UpcA: format = BarcodeFormat.UPC_A; break; case BarcodeType.UpcE: format = BarcodeFormat.UPC_E; break; default: format = BarcodeFormat.All_1D; break; } return(new Result(text, rawbytes, resultPoint, format)); } catch (Exception) { return(null); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.scanner); //mysql------------------------------------- sServer = "Server=projektowanie.vetrex.eu;Port=3306;database=UG;User Id=UG;Password=WinterIsComing0;charset=utf8"; SetMysqlConn(sServer); //------------------------------------------ cameraPreview = FindViewById <SurfaceView>(Resource.Id.cameraPreview); txtResult = FindViewById <TextView>(Resource.Id.txtResult); ListDataPos = FindViewById <ListView>(Resource.Id.lvListLog); btnApproved = FindViewById <Button>(Resource.Id.btnApproved); logList = new List <string>(); vib = (Vibrator)GetSystemService(Context.VibratorService); barcodeDetector = new BarcodeDetector.Builder(this) .SetBarcodeFormats(BarcodeFormat.Ean13) .Build(); cameraSource = new CameraSource .Builder(this, barcodeDetector) .SetRequestedPreviewSize(640, 480) .SetAutoFocusEnabled(true) .Build(); cameraPreview.Holder.AddCallback(this); barcodeDetector.SetProcessor(this); Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); // On Click delegate btnApproved.Click += delegate { OnButtonApprovedClicked(); }; void OnButtonApprovedClicked() { var intent = new Intent(this, typeof(AddMealActivity)); intent.PutExtra("kcalInput", kcalInput); intent.PutExtra("carbInput", carbInput); intent.PutExtra("fatInput", fatInput); intent.PutExtra("proteinInput", proteinInput); StartActivity(intent); Finish(); } }