Punkt Dienst-Geräte ObjektePointOfService device objects

Erstellen eines GeräteobjektsCreating a device object

Nachdem Sie das zu verwendende pointfservice-Gerät durch eine neue Enumeration oder eine gespeicherte DeviceID identifiziert haben, rufen Sie einfach fromittlerasync mit derDeviceID auf, die Sie Programm gesteuert ausgewählt haben, oder der Benutzer hat sich für die Erstellung eines neuen Point of Service-Geräte Objekts entschieden.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.

In diesem Beispiel wird versucht, ein neues Barcodescanner-Objekt mit fromittel Async mithilfe einer DeviceID zu erstellen.This sample attempts to create a new BarcodeScanner object with FromIdAsync using a DeviceID. Wenn beim Erstellen des Objekts ein Fehler aufgetreten ist, wird eine Debugmeldung geschrieben.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");
    }
    

Sobald Sie über ein Geräte Objekt verfügen, können Sie auf die Methoden, Eigenschaften und Ereignisse des Geräts zugreifen.Once you have a device object, you can then access the device's methods, properties and events.

Lebenszyklus von Geräte ObjektenDevice object lifecycle

Vor Windows 8 hatten Apps einen einfachen Lebenszyklus.Before Windows 8, apps had a simple lifecycle. Win32-und .net-apps werden entweder ausgeführt oder werden nicht ausgeführt, und pointservice-Peripheriegeräte wurden in der Regel für den gesamten App-Lebenszyklus beansprucht.Win32 and .NET apps are either running or not running and PointOfService peripherals were usually claimed for the full app lifecycle. Wenn ein Benutzer eine App minimiert oder verlässt, wird sie weiterhin ausgeführt.When a user minimizes them, or switches away from them, they continue to run. Dies war in Ordnung, bis tragbare Geräte und die effiziente Energienutzung immer wichtiger wurden.This was fine until portable devices and power management became increasingly important.

Mit Windows 8 wurde ein neues Anwendungsmodell mit UWP-apps eingeführt.Windows 8 introduced a new application model with UWP apps. Auf oberer Ebene wurde der neue Zustand „Angehalten“ eingeführt.At a high level, a new suspended state was added. Eine UWP-APP wird kurz nach dem minimieren oder wechseln zu einer anderen APP angehalten.A UWP app is suspended shortly after the user minimizes it or switches to another app. Dies bedeutet, dass die Threads der App beendet werden. die APP wird im Arbeitsspeicher belassen, es sei denn, das Betriebssystem muss Ressourcen freigeben, und alle Geräte Objekte, die pointarfservice-Peripheriegeräte darstellen, werden automatisch geschlossen, damit andere Anwendungen auf die Peripheriegeräte zugreifen können.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. Wenn der Benutzer zur APP zurück wechselt, kann er schnell in einen laufenden Zustand wieder hergestellt werden, und es kann sein, dass er nach dem Fortsetzen von pointfservice-Peripheriegeräten wieder hergestellt wird.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.

Sie können erkennen, wenn ein Objekt aus irgendeinem Grund mit einem geschlossen wird <DeviceObject> . Der geschlossene Ereignishandler notieren Sie sich die Geräte-ID, um die Verbindung in Zukunft wiederherzustellen.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. Alternativ dazu können Sie dies auch in einer APP unterbrechen, um die Geräte-IDs zum erneuten Einrichten der Geräte Verbindungen bei der Benachrichtigung über die APP-Wiederaufnahme zu speichern.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. Stellen Sie sicher, dass Sie nicht auf den Ereignis Handlern und den doppelten Aktionen für das Geräte Objekt für beides doppelklicken <DeviceObject> . Closed und App Suspend.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.

Tipp

Weitere Informationen zum Lebenszyklus von Windows 10 universelle Windows-Plattform (UWP)-Anwendungen finden Sie in den folgenden Themen:Please refer to the following topics for more information about Windows 10 Universal Windows Platform (UWP) application lifecycle: