Objetos de dispositivo PointOfServicePointOfService device objects

Crear un objeto de dispositivoCreating a device object

Una vez que haya identificado el dispositivo PointOfService que quiere usar, ya sea desde una nueva enumeración o una DeviceID almacenada, solo tiene que llamar a FromIdAsync con elDeviceID que haya elegido mediante programación, o bien el usuario ha seleccionado crear un nuevo objeto de dispositivo de punto de servicio.Once you have identified the PointOfService device that you want to use, either from a fresh enumeration or a stored DeviceID, you just call FromIdAsync with theDeviceID that you have chosen programmatically or the user has selected to create a new Point of Service device object.

En este ejemplo se intenta crear un nuevo objeto BarcodeScanner con FromIdAsync mediante DeviceID.This sample attempts to create a new BarcodeScanner object with FromIdAsync using a DeviceID. Si se produce un error al crear el objeto, se escribe un mensaje de depuración.If there is a failure creating the object a debug message is written.


    BarcodeScanner barcodeScanner = await BarcodeScanner.FromIdAsync(DeviceId);

    if(barcodeScanner != null)
    {
        // after successful creation, claim the scanner for exclusive use and enable it to exchange data
    }
    else
    {
        Debug.WriteLine("Failure to create barcodeScanner object");
    }
    

Una vez que tenga un objeto de dispositivo, podrá tener acceso a los métodos, propiedades y eventos del dispositivo.Once you have a device object, you can then access the device's methods, properties and events.

Ciclo de vida de objetos de dispositivoDevice object lifecycle

Antes de Windows 8, las aplicaciones tenían un ciclo de vida simple.Before Windows 8, apps had a simple lifecycle. Las aplicaciones Win32 y .NET están en ejecución o no se están ejecutando y, por lo general, los periféricos PointOfService se han reclamado para el ciclo de vida completo de la aplicación.Win32 and .NET apps are either running or not running and PointOfService peripherals were usually claimed for the full app lifecycle. Cuando un usuario las minimiza o sale de ellas, continúan ejecutándose.When a user minimizes them, or switches away from them, they continue to run. Esto funcionó bien hasta que los dispositivos portátiles y la administración de la energía empezaron a cobrar cada vez más importancia.This was fine until portable devices and power management became increasingly important.

Windows 8 presentó un nuevo modelo de aplicación con aplicaciones de UWP.Windows 8 introduced a new application model with UWP apps. En un nivel alto, se agregó un nuevo estado, el estado suspendido.At a high level, a new suspended state was added. Una aplicación para UWP se suspende poco después de que el usuario la minimice o cambie a otra aplicación.A UWP app is suspended shortly after the user minimizes it or switches to another app. Esto significa que los subprocesos de la aplicación se detienen, la aplicación se deja en memoria a menos que el sistema operativo necesite reclamar recursos y que los objetos de dispositivo que representan periféricos de PointOfService se cierren automáticamente para permitir el acceso de otras aplicaciones a los periféricos.This means that the app's threads are stopped, the app is left in memory unless the operating system needs to reclaim resources, and any device objects representing PointOfService peripherals are automatically closed to allow other applications access to the peripherals. Cuando el usuario vuelve a la aplicación, se puede restaurar rápidamente a un estado de ejecución y restaurar las conexiones de periféricos de PointOfService siempre que estén disponibles en el currículo.When the user switches back to the app, it can be quickly restored to a running state and restore PointOfService peripherals connections provided they are still available on resume.

Puede detectar cuándo se cierra un objeto por cualquier motivo con <DeviceObject> . Después, el controlador de eventos Closed anota el identificador de dispositivo para volver a establecer la conexión en el futuro.You can detect when an object is closed for any reason with a <DeviceObject>.Closed event handler then make note of the device ID for re-establishing the connection in the future. Como alternativa, puede que desee controlar esto en una notificación de suspensión de la aplicación para guardar el identificador del dispositivo para volver a establecer las conexiones del dispositivo en la notificación de reanudación de la aplicación.Alternatively, you may wish to handle this on an App Suspend notification to save the device ID's for re-establishing the device connections on App Resume notification. Asegúrese de no doblar los controladores de eventos y las acciones duplicadas del objeto de dispositivo en ambos <DeviceObject> . Cerrado y suspender aplicación.Make sure that you do not double up on the event handlers and duplicate actions for the device object on both <DeviceObject>.Closed and App Suspend.

Sugerencia

Consulte los temas siguientes para obtener más información sobre el ciclo de vida de las aplicaciones de Windows 10 Plataforma universal de Windows (UWP):Please refer to the following topics for more information about Windows 10 Universal Windows Platform (UWP) application lifecycle: