示例#1
0
        public void OnOpened(EMDKManager emdkManagerInstance)
        {
            // This callback will be issued when the EMDK is ready to use.
            textViewStatus.Text = "Status: EMDK open success.";

            this.emdkManager = emdkManagerInstance;

            try
            {
                // Acquire the barcode manager resources
                barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);

                if (barcodeManager != null)
                {
                    // Add connection listener
                    barcodeManager.Connection += barcodeManager_Connection;
                }

                // Enumerate scanner devices
                enumerateScanners();

                // Set default scanner
                spinnerScanners.SetSelection(defaultIndex);

                // Set trigger (App default - HARD)
                spinnerTriggers.SetSelection(triggerIndex);
            }
            catch (Exception e)
            {
                textViewStatus.Text = "Status: BarcodeManager object creation failed.";
                Console.WriteLine("Exception:" + e.StackTrace);
            }
        }
        override protected void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Create a BarcodeManager.
            manager = new BarcodeManager();
            SetContentView(Resource.Layout.Main);

            // setup button
            Button btn = (Button)FindViewById(Resource.Id.button1);

            btn.Click += delegate
            {
                StartSettingsActivity();
            };

            // Pass it to ScannerProperties class.
            // ScannerProperties cannot be instatiated directly, instead call edit.
            configuration = ScannerProperties.Edit(manager);

            // Now we can change some Scanner/Device configuration parameters.
            // These values are not applied, as long as store method is not called.
            configuration.Code39.Enable.Set(true);
            configuration.Code39.EnableChecksum.Set(true);
            configuration.Code39.FullAscii.Set(true);
            configuration.Code39.Length1.Set(20);
            configuration.Code39.Length2.Set(2);
            configuration.Code39.LengthMode.Set(LengthControlMode.TwoFixed);
            configuration.Code39.SendChecksum.Set(false);
            configuration.Code39.UserID.Set('x');

            configuration.Code128.Enable.Set(true);
            configuration.Code128.Length1.Set(6);
            configuration.Code128.Length2.Set(2);
            configuration.Code128.LengthMode.Set(LengthControlMode.Range);
            configuration.Code128.UserID.Set('y');

            if (configuration.QrCode.IsSupported)
            {
                configuration.QrCode.Enable.Set(false);
            }

            // Change IntentWedge action and category to specific ones.
            configuration.IntentWedge.Action.Set("com.datalogic.examples.decode_action");
            configuration.IntentWedge.Category.Set("com.datalogic.examples.decode_category");

            // From here on, we would like to get a return value instead of an exception in case of error
            ErrorManager.EnableExceptions(false);

            // Now we are ready to store them
            // Second parameter set to true saves configuration in a permanent way.
            // After boot settings will be still valid.
            int errorCode = configuration.Store(manager, true);

            // Check return value.
            if (errorCode != ConfigException.Success)
            {
                Log.Error(LOGTAG, "Error during store", ErrorManager.LastError);
            }
        }
示例#3
0
        internal void DeinitScanner()
        {
            if (_emdkManager != null)
            {
                if (_scanner != null)
                {
                    try
                    {
                        _scanner.Data   -= _scanner_Data;
                        _scanner.Status -= _scanner_Status;
                        _scanner.Disable();
                    }
                    catch (ScannerException ex)
                    {
                    }
                }

                if (_barcodeManager != null)
                {
                    _emdkManager.Release(EMDKManager.FEATURE_TYPE.Barcode);
                }
                _barcodeManager = null;
                _scanner        = null;
            }
        }
        public void InitializeScanner()
        {
            if (scanner == null && EmdkManager != null)
            {
                try
                {
                    barcodeManager = (BarcodeManager)EmdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);
                    scanner        = barcodeManager?.GetDevice(BarcodeManager.DeviceIdentifier.Default);
                }
                catch (Exception ex)
                {
                    scanner = null;
                    Log.Debug(TAG, "Scanner Initialize Exception", ex);
                }
            }

            if (scanner != null && !scannerEventsWired)
            {
                try
                {
                    scanner.Status += Scanner_Status;
                    scanner.Data   += Scanner_Data;
                    scanner.Enable();
                    scannerEventsWired = true;
                    Log.Debug(TAG, "Scanner events are wired successfully.");
                }
                catch (Exception ex)
                {
                    Log.Debug(TAG, "Scanner Initialize Exception", ex);
                }
            }
        }
示例#5
0
        protected override void OnPause()
        {
            base.OnPause();
            // The application is in background

            // Save the current state of continuous mode flag
            isContinuousModeSaved = isContinuousMode;

            // Reset continuous flag
            isContinuousMode = false;

            // De-initialize scanner
            DeInitScanner();

            if (barcodeManager != null)
            {
                // Remove connection listener
                barcodeManager.Connection -= barcodeManager_Connection;
                barcodeManager             = null;

                // Clear scanner list
                scannerList = null;
            }

            // Release the barcode manager resources
            if (emdkManager != null)
            {
                emdkManager.Release(EMDKManager.FEATURE_TYPE.Barcode);
            }
        }
示例#6
0
        void DeinitScanner()
        {
            if (emdkManager != null)
            {
                if (scanner != null)
                {
                    try
                    {
                        scanner.Data   -= scanner_Data;
                        scanner.Status -= scanner_Status;

                        scanner.Disable();
                    }
                    catch (ScannerException e)
                    {
                        Log.Debug(this.Class.SimpleName, "Exception:" + e.Result.Description);
                    }
                }

                if (barcodeManager != null)
                {
                    emdkManager.Release(EMDKManager.FEATURE_TYPE.Barcode);
                }
                barcodeManager = null;
                scanner        = null;
            }
        }
        public void OnOpened(EMDKManager emdkManagerInstance)
        {
            // This callback will be issued when the EMDK is ready to use.
            textViewStatus.Text = "Status: EMDK open success.";

            this.emdkManager = emdkManagerInstance;

            try
            {
                // Acquire the barcode manager resources
                barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);

                if (barcodeManager != null)
                {
                    // Add connection listener
                    barcodeManager.Connection += barcodeManager_Connection;
                }

                // Enumerate scanner devices
                EnumerateScanners();

                // Set default scanner
                spinnerScannerDevices.SetSelection(defaultIndex);

                // Set trigger (App default - HARD)
                spinnerTriggers.SetSelection(triggerIndex);
            }
            catch (System.Exception e)
            {
                textViewStatus.Text = "Status: BarcodeManager object creation failed.";
                Console.WriteLine("Exception:" + e.StackTrace);
            }
        }
示例#8
0
    private void Encoded()
    {
        BarcodeManager hm = new BarcodeManager();

        DeltaCore.WorkFlow.SecurityManager sm = new DeltaCore.WorkFlow.SecurityManager();
        var datos = new PartListExchangeManager();
        var data  = datos.sqlDSPartListExchange(Request.QueryString["ex"]);

        if (data != null && data.Rows.Count > 0)
        {
            var buffer = hm.imageToByteArray(hm.QREncode(Request.Url.AbsolutePath, "M"));
            codeStage.DataValue    = buffer;
            lblParte.Text          = data.Rows[0]["sPartListBocar"].ToString();
            lblDescripcion.Text    = data.Rows[0]["sPartListDescription"].ToString() + " \n " + data.Rows[0]["fvmeasure_exchange"].ToString();
            codePart.DataValue     = hm.imageToByteArray(hm.Barcode128(data.Rows[0]["sPartListBocar"].ToString(), 1));
            lblCantidad.Text       = data.Rows[0]["iIdPartList"].ToString();
            codeQuantity.DataValue = hm.imageToByteArray(hm.Barcode128(data.Rows[0]["iIdPartList"].ToString(), 1));
            if (string.IsNullOrEmpty(data.Rows[0]["sFolio"].ToString()) || data.Rows[0]["sFolio"].ToString() == "0")
            {
                codeSerial.DataValue = hm.imageToByteArray(hm.Barcode128(data.Rows[0]["sFolio"].ToString(), 1));
                lblSerie.Text        = data.Rows[0]["sFolio"].ToString();
            }
            else
            {
                lblSerie.Text        = data.Rows[0]["sPreFolio"].ToString();
                codeSerial.DataValue = hm.imageToByteArray(hm.Barcode128(data.Rows[0]["sPreFolio"].ToString(), 1));
            }
        }
    }
示例#9
0
        private void DeinitScanner()
        {
            try
            {
                if (_emdkManager != null)
                {
                    if (_scanner != null)
                    {
                        try
                        {
                            _scanner.CancelRead();
                            _scanner.Disable();
                            _scanner.Data   -= Scanner_Data;
                            _scanner.Status -= Scanner_Status;
                            _scanner.Release();
                        }
                        catch (ScannerException e)
                        {
                        }
                    }
                }

                if (_barcodeManager != null)
                {
                    _emdkManager.Release(EMDKManager.FEATURE_TYPE.Barcode);
                }

                _barcodeManager = null;
                _scanner        = null;
            }
            catch (Exception ex)
            {
                ErrorMessage("MainActivity - DeinitScanner:" + ex.Message);
            }
        }
        protected override void OnResume()
        {
            base.OnResume();

            Log.Info(LOGTAG, "OnResume");

            // If the decoder instance is null, create it.
            if (decoder == null)
            {
                // Remember an onPause call will set it to null.
                decoder = new BarcodeManager();
            }

            // From here on, we want to be notified with exceptions in case of errors.
            ErrorManager.EnableExceptions(true);

            try
            {
                // add our class as a listener
                decoder.AddReadListener(this);
            }
            catch (DecodeException e)
            {
                Log.Error(LOGTAG, "Error while trying to bind a listener to BarcodeManager", e);
            }
        }
示例#11
0
        private void DeInitScanner()
        {
            if (m_EmdkManager != null)
            {
                if (m_Scanner != null)
                {
                    try
                    {
                        m_Scanner.Data   -= DataReceived;
                        m_Scanner.Status -= StatusChanged;
                        m_Scanner.Disable();
                    }
                    catch (ScannerException e)
                    {
                        OnStatusChanged?.Invoke(this, new EMDKStatusChangedArgs($"Error: {e.Message}"));
                    }
                }

                if (m_BarcodeManager != null)
                {
                    m_EmdkManager.Release(EMDKManager.FEATURE_TYPE.Barcode);
                }

                m_BarcodeManager = null;
                m_Scanner        = null;
            }
        }
示例#12
0
        void InitScanner()
        {
            if (m_EmdkManager != null)
            {
                if (m_BarcodeManager == null)
                {
                    try
                    {
                        m_BarcodeManager = (BarcodeManager)m_EmdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);
                        m_Scanner        = m_BarcodeManager.GetDevice(BarcodeManager.DeviceIdentifier.Default);

                        if (m_Scanner != null)
                        {
                            m_Scanner.Data   -= DataReceived;
                            m_Scanner.Data   += DataReceived;
                            m_Scanner.Status -= StatusChanged;
                            m_Scanner.Status += StatusChanged;
                        }
                        else
                        {
                            OnStatusChanged?.Invoke(this, new EMDKStatusChangedArgs("Failed to enable scanner."));
                        }
                    }
                    catch (ScannerException e)
                    {
                        OnStatusChanged?.Invoke(this, new EMDKStatusChangedArgs($"Error: {e.Message}"));
                    }
                    catch (Exception ex)
                    {
                        OnStatusChanged?.Invoke(this, new EMDKStatusChangedArgs($"Error: {ex.Message}"));
                    }
                }
            }
        }
示例#13
0
文件: Barcode.cs 项目: radtek/EMIP
        public virtual void Delete(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            int       itemid  = request.GetInt32("itemid");

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    BarcodeManager.DeleteBarcode(provider, cn, itemid);
                }
            }
        }
示例#14
0
文件: Barcode.cs 项目: radtek/EMIP
        public virtual object GetMyList(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    uid     = YZAuthHelper.LoginUserAccount;

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    return(BarcodeManager.GetBarcodes(provider, cn, uid, null, null, request.Start, request.Limit));
                }
            }
        }
示例#15
0
        void InitializeBarcodeManager()
        {
            _barcodeManager = (BarcodeManager)_emdkManager?.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);
            if (_barcodeManager == null)
            {
                return;
            }

            if (_barcodeManager.SupportedDevicesInfo?.Count > 0)
            {
                _scanner = _barcodeManager.GetDevice(BarcodeManager.DeviceIdentifier.Default);
            }
        }
        private async void Application_Suspending(object sender, SuspendingEventArgs e)
        {
            //Debug.WriteLine("Application Suspending");
            var deferral = e.SuspendingOperation.GetDeferral();

            this.scanningTimer.Dispose();
            this.cameraManager.ScanForQRcodes = false;
            this.qrAnalyzerCancellationTokenSource.Cancel();

            await cameraManager.CleanupCameraAsync();

            this.barcodeManager = null;
            this.cameraManager  = null;
            deferral.Complete();
        }
示例#17
0
        void InitScanner()
        {
            if (emdkManager != null)
            {
                if (barcodeManager == null)
                {
                    try
                    {
                        //Get the feature object such as BarcodeManager object for accessing the feature.
                        barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);

                        scanner = barcodeManager.GetDevice(BarcodeManager.DeviceIdentifier.Default);

                        if (scanner != null)
                        {
                            //Attahch the Data Event handler to get the data callbacks.
                            scanner.Data += scanner_Data;

                            //Attach Scanner Status Event to get the status callbacks.
                            scanner.Status += scanner_Status;

                            scanner.Enable();

                            //EMDK: Configure the scanner settings
                            ScannerConfig config = scanner.GetConfig();
                            config.SkipOnUnsupported            = ScannerConfig.SkipOnUnSupported.None;
                            config.ScanParams.DecodeLEDFeedback = true;
                            config.ReaderParams.ReaderSpecific.ImagerSpecific.PickList = ScannerConfig.PickList.Enabled;
                            config.DecoderParams.Code39.Enabled  = true;
                            config.DecoderParams.Code128.Enabled = false;
                            scanner.SetConfig(config);
                        }
                        else
                        {
                            displayStatus("Failed to enable scanner.\n");
                        }
                    }
                    catch (ScannerException e)
                    {
                        displayStatus("Error: " + e.Message);
                    }
                    catch (Exception ex)
                    {
                        displayStatus("Error: " + ex.Message);
                    }
                }
            }
        }
        public void OnClosed()
        {
            if (emdkManager != null)
            {
                if (barcodeManager != null)
                {
                    // Remove connection listener
                    barcodeManager.Connection -= BarcodeManager_Connection;
                    barcodeManager             = null;
                }

                // Release all the resources
                emdkManager.Release();
                emdkManager = null;
            }
        }
示例#19
0
        public void OnOpened(EMDKManager emdkManagerInstance)
        {
            this.emdkManager = emdkManagerInstance;

            try
            {
                // Acquire the barcode manager resources
                barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);

                InitScanner();
            }
            catch (Exception e)
            {
                //TODO Log here
                Console.WriteLine("Exception:" + e.StackTrace);
            }
        }
示例#20
0
        public void OnClosed()
        {
            // This callback will be issued when the EMDK closes unexpectedly.

            #region Ring Scanner On Closed
            if (emdkManager != null)
            {
                if (barcodeManager != null)
                {
                    barcodeManager = null;
                }

                // Release all the resources
                emdkManager.Release();
                emdkManager = null;
            }
            #endregion
        }
示例#21
0
文件: Barcode.cs 项目: radtek/EMIP
        public virtual object Save(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            JObject   jPost   = request.GetPostData <JObject>();
            Barcode   barcode = jPost.ToObject <Barcode>();

            barcode.Account  = YZAuthHelper.LoginUserAccount;
            barcode.CreateAt = DateTime.Now;

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    BarcodeManager.Insert(provider, cn, barcode);
                    return(barcode);
                }
            }
        }
        public void OnClosed()
        {
            if (emdkManager != null)
            {
                if (barcodeManager != null)
                {
                    // Remove connection listener
                    barcodeManager.Connection -= barcodeManager_Connection;
                    barcodeManager             = null;
                }

                // Release all the resources
                emdkManager.Release();
                emdkManager = null;
            }

            textViewStatus.Text = "Status: EMDK closed unexpectedly! Please close and restart the application.";
        }
示例#23
0
        protected override void OnResume()
        {
            base.OnResume();
            // The application is in foreground

            // Restore continuous mode flag
            isContinuousMode = isContinuousModeSaved;

            // Acquire the barcode manager resources
            if (emdkManager != null)
            {
                try
                {
                    barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);

                    if (barcodeManager != null)
                    {
                        // Add connection listener
                        barcodeManager.Connection += barcodeManager_Connection;
                    }

                    // Enumerate scanners
                    EnumerateScanners();

                    // Set selected scanner
                    spinnerScanners.SetSelection(scannerIndex);

                    // Set selected trigger
                    spinnerTriggers.SetSelection(triggerIndex);
                    if (horizontal)
                    {
                        buttonStartScan.SetWidth(120);
                        buttonStartScan.SetTextKeepState("Start", TextView.BufferType.Editable);
                        buttonStopScan.SetWidth(120);
                        buttonStopScan.SetTextKeepState("Stop", TextView.BufferType.Editable);
                    }
                }
                catch (Exception e)
                {
                    textViewStatus.Text = "Status: BarcodeManager object creation failed.";
                    Console.WriteLine("Exception: " + e.StackTrace);
                }
            }
        }
        protected override void OnDestroy()
        {
            base.OnDestroy();
            DeInitScanner();

            // Remove connection listener
            if (barcodeManager != null)
            {
                barcodeManager.Connection -= barcodeManager_Connection;
                barcodeManager             = null;
            }

            // Release all the resources
            if (emdkManager != null)
            {
                emdkManager.Release();
                emdkManager = null;
            }
        }
示例#25
0
        void InitScanner()
        {
            if (emdkManager != null)
            {
                if (barcodeManager == null)
                {
                    try
                    {
                        //Get the feature object such as BarcodeManager object for accessing the feature.
                        barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);

                        scanner = barcodeManager.GetDevice(BarcodeManager.DeviceIdentifier.Default);

                        if (scanner != null)
                        {
                            //EMDK: Configure the scanner settings

                            /*ScannerConfig config = scanner.GetConfig();
                             * config.SkipOnUnsupported = ScannerConfig.SkipOnUnSupported.None;
                             * config.ScanParams.DecodeLEDFeedback = true;
                             * config.ReaderParams.ReaderSpecific.ImagerSpecific.PickList = ScannerConfig.PickList.Enabled;
                             * config.DecoderParams.Code39.Enabled = true;
                             * config.DecoderParams.Code128.Enabled = false;
                             * scanner.SetConfig(config); */
                            InterfaceConfig t = scanner.GetInterfaceConfig();
                            t.DisplayBluetoothAddressBarcode = true;
                        }
                        else
                        {
                            //TODO log status here
                        }
                    }
                    catch (ScannerException e)
                    {
                        //TODO log error here
                    }
                    catch (Exception ex)
                    {
                        //TODO log error here
                    }
                }
            }
        }
示例#26
0
        private int triggerIndex = 0; // Keep the selected trigger

        #endregion Fields

        #region Methods

        public void OnClosed()
        {
            // This callback will be issued when the EMDK closes unexpectedly.

            if (emdkManager != null)
            {
                if (barcodeManager != null)
                {
                    // Remove connection listener
                    barcodeManager.Connection -= barcodeManager_Connection;
                    barcodeManager = null;
                }

                // Release all the resources
                emdkManager.Release();
                emdkManager = null;
            }

            textViewStatus.Text = "Status: EMDK closed unexpectedly! Please close and restart the application.";
        }
示例#27
0
        protected override void OnDestroy()
        {
            base.OnDestroy();

            // De-initialize scanner
            DeInitScanner();

            // Clean up the objects created by EMDK manager
            if (barcodeManager != null)
            {
                // Remove connection listener
                barcodeManager.Connection -= barcodeManager_Connection;
                barcodeManager             = null;
            }

            if (emdkManager != null)
            {
                emdkManager.Release();
                emdkManager = null;
            }
        }
示例#28
0
        protected override void OnResume()
        {
            base.OnResume();



            #region Ring Scanner On Resume
            if (emdkManager != null)
            {
                try
                {
                    barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);
                }
                catch (Exception e)
                {
                    //TODO:   log here
                    Console.WriteLine("Exception: " + e.StackTrace);
                }
                #endregion
            }
        }
示例#29
0
        protected override void OnPause()
        {
            base.OnPause();

            #region Ring Scanner On Pause
            // De-initialize scanner
            DeInitScanner();

            if (barcodeManager != null)
            {
                barcodeManager = null;
            }

            // Release the barcode manager resources
            if (emdkManager != null)
            {
                emdkManager.Release(EMDKManager.FEATURE_TYPE.Barcode);
            }

            #endregion
        }
示例#30
0
 public LetterAppService(DepartmentManager departmentManager, SerialNumberManager serialNumberManager, BarcodeManager barcodeManager, ILetterRepository letterRepository, UnitOfWork unitOfWork, IOptions <CommonSettings> commonSettings, IBarcodeLogRepository barcodeLogRepository, IBarcodeRepository barcodeRepository, IBackLetterRepository backLetterRepository, ICancelLetterRepository cancelLetterRepository, BoxManager boxManager, ISortingListDetailRepository sortingListDetailRepository, ISortingListRepository sortingListRepository, ISortingRepository sortingRepository, IPlaceRepository placeRepository, IPlaceWardenRepository placeWardenRepository, IExchangeObjectRepository exchangeObjectRepository, IExchangeObjectSignerRepository objectSignerRepository)
 {
     _departmentManager           = departmentManager;
     _serialNumberManager         = serialNumberManager;
     _barcodeManager              = barcodeManager;
     _letterRepository            = letterRepository;
     _unitOfWork                  = unitOfWork;
     _commonSettings              = commonSettings;
     _barcodeLogRepository        = barcodeLogRepository;
     _barcodeRepository           = barcodeRepository;
     _backLetterRepository        = backLetterRepository;
     _cancelLetterRepository      = cancelLetterRepository;
     _boxManager                  = boxManager;
     _sortingListDetailRepository = sortingListDetailRepository;
     _sortingListRepository       = sortingListRepository;
     _sortingRepository           = sortingRepository;
     _placeRepository             = placeRepository;
     _placeWardenRepository       = placeWardenRepository;
     _exchangeObjectRepository    = exchangeObjectRepository;
     _objectSignerRepository      = objectSignerRepository;
 }
        public void Destroy()
        {
            try
            {
                Log.Debug(TAG, "Disposing scanning objects.");
                UninitializeScanner();

                scanner?.Release();
                scanner?.Dispose();
                scanner = null;

                ScanDataReceived = null;
                barcodeManager   = null;
                EmdkManager?.Release();
                EmdkManager = null;
            }
            catch (Exception ex)
            {
                Log.Debug(TAG, "Scanner crash on Destroy", ex);
            }
        }
示例#32
0
        public void OnOpened(EMDKManager emdkManager)
        {
            mEmdkManager = emdkManager;

            if (null == mScanner)
            {
                // Get Barcode Manager
                mBarcodeManager = (BarcodeManager)mEmdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);
                if (null == mBarcodeManager)
                {
                    mStatusTextView.Text = "Impossible to get BarcodeManager handle";
                    return;
                }
                mScanner = mBarcodeManager.GetDevice(BarcodeManager.DeviceIdentifier.InternalImager1);

                if (null == mScanner)
                {
                    mStatusTextView.Text = "Impossible to get Scanner handle";
                    return;
                }

                try
                {
                    mScanner.AddDataListener(this);
                    mScanner.AddStatusListener(this);

                    mScanner.TriggerType = Scanner.TriggerTypes.Hard;

                    mScanner.Enable();

                    mScanner.Read(); // Start an Async scann
                }
                catch (ScannerException e)
                {
                    e.PrintStackTrace();
                }

                Toast.MakeText(this, "Press Hard Scan Button to start scanning...", ToastLength.Long).Show();
            }
        }
        public void OnOpened(EMDKManager emdkManagerInstance)
        {
            emdkManager = emdkManagerInstance;

            try
            {
                barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);

                if (barcodeManager != null)
                {
                    barcodeManager.Connection += BarcodeManager_Connection;
                }

                var scannerlist = barcodeManager.SupportedDevicesInfo;
                foreach (var item in scannerlist)
                {
                    Console.WriteLine(item.FriendlyName);
                    Console.WriteLine(item.Class);
                    Console.WriteLine(item.DeviceIdentifier);
                }
                scanner             = barcodeManager.GetDevice(scannerlist.Where(d => d.FriendlyName.Contains("2D Barcode")).Single());
                scanner.Data       += Scanner_Data;
                scanner.Status     += Scanner_Status;
                scanner.TriggerType = Scanner.TriggerTypes.Hard;

                try
                {
                    scanner.Enable();
                }
                catch (ScannerException ex)
                {
                    Console.WriteLine(ex.StackTrace);
                    //throw;
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine("PedidoActivity -> OnOpened", ex.Message);
            }
        }
示例#34
0
        void barcodeManager_Connection(object sender, BarcodeManager.ScannerConnectionEventArgs e)
        {
            String status;
            String scannerName = "";

            ScannerInfo scannerInfo = e.P0;
            BarcodeManager.ConnectionState connectionState = e.P1;

            String statusBT = connectionState.ToString();
            String scannerNameBT = scannerInfo.FriendlyName;

            if (scannerList.Count != 0)
            {
                scannerName = scannerList[scannerIndex].FriendlyName;
            }

            if (scannerName.ToLower().Equals(scannerNameBT.ToLower()))
            {
                status = "Status: " + scannerNameBT + ":" + statusBT;
                RunOnUiThread(() => textViewStatus.Text = status);

                if(connectionState == BarcodeManager.ConnectionState.Connected)
                {
                    // Bluetooth scanner connected
                    initScanner();
                    setTrigger();
                    setDecoders();
                }

                if(connectionState == BarcodeManager.ConnectionState.Disconnected)
                {
                    // Bluetooth scanner disconnected
                    deInitScanner();
                    RunOnUiThread(() => EnableUIControls(true));
                }
            }
            else
            {
                status = "Status: " + statusString + " " + scannerNameBT + ":" + statusBT;
                RunOnUiThread(() => textViewStatus.Text = status);
            }
        }
示例#35
0
        protected override void OnPause()
        {
            base.OnPause();
            // The application is in background

            // Reset continuous flag
            isContinuousMode = false;

            // De-initialize scanner
            deInitScanner();

            if (barcodeManager != null)
            {
                // Remove connection listener
                barcodeManager.Connection -= barcodeManager_Connection;
                barcodeManager = null;

                // Clear scanner list
                scannerList = null;
            }

            // Release the barcode manager resources
            if (emdkManager != null)
            {
                emdkManager.Release(EMDKManager.FEATURE_TYPE.Barcode);
            }
        }
示例#36
0
        void barcodeManager_Connection(object sender, BarcodeManager.ScannerConnectionEventArgs e)
        {
            string status;
            string scannerName = "";

            ScannerInfo scannerInfo = e.P0;
            BarcodeManager.ConnectionState connectionState = e.P1;

            string statusBT = connectionState.ToString();
            string scannerNameBT = scannerInfo.FriendlyName;

            if (scannerList.Count != 0)
            {
                scannerName = scannerList[scannerIndex].FriendlyName;
            }

            if (scannerName.ToLower().Equals(scannerNameBT.ToLower()))
            {
                status = "Status: " + scannerNameBT + ":" + statusBT;
                RunOnUiThread(() => textViewStatus.Text = status);

                if(connectionState == BarcodeManager.ConnectionState.Connected)
                {
                    // Bluetooth scanner connected

                    // Restore continuous mode flag
                    isContinuousMode = isContinuousModeSaved;

                    // Initialize scanner
                    InitScanner();
                    SetTrigger();
                    SetDecoders();
                }

                if(connectionState == BarcodeManager.ConnectionState.Disconnected)
                {
                    // Bluetooth scanner disconnected

                    // Save the current state of continuous mode flag
                    isContinuousModeSaved = isContinuousMode;

                    // Reset continuous flag
                    isContinuousMode = false;

                    // De-initialize scanner
                    DeInitScanner();

                    // Enable UI Controls
                    RunOnUiThread(() => EnableUIControls(true));
                }
            }
            else
            {
                status = "Status: " + statusString + " " + scannerNameBT + ":" + statusBT;
                RunOnUiThread(() => textViewStatus.Text = status);
            }
        }
示例#37
0
        protected override void OnResume()
        {
            base.OnResume();
            // The application is in foreground

            // Set continuous flag
            isContinuousMode = checkBoxContinuous.Checked;

            // Acquire the barcode manager resources
            if (emdkManager != null)
            {
                try
                {
                    barcodeManager = (BarcodeManager)emdkManager.GetInstance(EMDKManager.FEATURE_TYPE.Barcode);

                    if (barcodeManager != null)
                    {
                        // Add connection listener
                        barcodeManager.Connection += barcodeManager_Connection;
                    }

                    // Enumerate scanners
                    enumerateScanners();

                    // Set selected scanner
                    spinnerScanners.SetSelection(scannerIndex);

                    // Set selected trigger
                    spinnerTriggers.SetSelection(triggerIndex);
                }
                catch (Exception e)
                {
                    textViewStatus.Text = "Status: BarcodeManager object creation failed.";
                    Console.WriteLine("Exception: " + e.StackTrace);
                }
            }
        }
示例#38
0
        protected override void OnDestroy()
        {
            base.OnDestroy();

            // De-initialize scanner
            deInitScanner();

            // Clean up the objects created by EMDK manager
            if (barcodeManager != null)
            {
                // Remove connection listener
                barcodeManager.Connection -= barcodeManager_Connection;
                barcodeManager = null;
            }

            if (emdkManager != null)
            {
                emdkManager.Release();
                emdkManager = null;
            }
        }