Oggetti dispositivo PointOfServicePointOfService device objects

Creazione di un oggetto dispositivoCreating a device object

Dopo aver identificato il dispositivo PointOfService che si vuole usare, da una nuova enumerazione o da un DeviceID archiviato, è sufficiente chiamare FromIdAsync con ilDeviceID scelto a livello di codice oppure l'utente ha scelto di creare un nuovo punto di servizio del dispositivo.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.

Questo esempio tenta di creare un nuovo oggetto BarcodeScanner con FromIdAsync usando un DeviceID.This sample attempts to create a new BarcodeScanner object with FromIdAsync using a DeviceID. Se si verifica un errore durante la creazione dell'oggetto, viene scritto un messaggio di debug.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");
    }
    

Dopo aver creato un oggetto dispositivo, è possibile accedere ai metodi, alle proprietà e agli eventi del dispositivo.Once you have a device object, you can then access the device's methods, properties and events.

Ciclo di vita degli oggetti dispositivoDevice object lifecycle

Prima di Windows 8, le app avevano un ciclo di vita semplice.Before Windows 8, apps had a simple lifecycle. Le app Win32 e .NET sono in esecuzione o non in esecuzione e le periferiche PointOfService sono in genere richieste per il ciclo di vita completo dell'app.Win32 and .NET apps are either running or not running and PointOfService peripherals were usually claimed for the full app lifecycle. Quando un utente le riduce a icona o passa ad altro, continuano a essere eseguite.When a user minimizes them, or switches away from them, they continue to run. Questo non è stato un problema finché i dispositivi portatili e il risparmio energia sono diventati sempre più importanti.This was fine until portable devices and power management became increasingly important.

In Windows 8 è stato introdotto un nuovo modello di applicazione con le app UWP.Windows 8 introduced a new application model with UWP apps. A livello generale, è stato aggiunto un nuovo stato sospeso.At a high level, a new suspended state was added. Un'app UWP viene sospesa poco dopo che l'utente lo riduce a icona o passa a un'altra app.A UWP app is suspended shortly after the user minimizes it or switches to another app. Ciò significa che i thread dell'app vengono arrestati, l'app viene lasciata in memoria, a meno che il sistema operativo non debba recuperare le risorse e gli oggetti dispositivo che rappresentano le periferiche PointOfService vengono chiusi automaticamente per consentire ad altre applicazioni di accedere alle periferiche.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. Quando l'utente torna all'app, può essere ripristinato rapidamente a uno stato di esecuzione e ripristinare le connessioni delle periferiche PointOfService purché siano ancora disponibili in fase di ripresa.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.

È possibile rilevare quando un oggetto viene chiuso per qualsiasi motivo con un <DeviceObject> . Gestore eventi chiuso prendere nota dell'ID del dispositivo per ristabilire la connessione in 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. In alternativa, è possibile gestire questo problema in una notifica di sospensione dell'app per salvare l'ID del dispositivo per ristabilire le connessioni del dispositivo durante la notifica di ripresa dell'app.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. Assicurarsi di non raddoppiare i gestori eventi e le azioni duplicate per l'oggetto dispositivo in entrambi <DeviceObject> . Chiuso e sospensione dell'app.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.

Suggerimento

Per ulteriori informazioni sul ciclo di vita dell'applicazione piattaforma UWP (Universal Windows Platform) (UWP) di Windows 10, consultare gli argomenti seguenti:Please refer to the following topics for more information about Windows 10 Universal Windows Platform (UWP) application lifecycle: