Compartilhar via


Objetos de dispositivo do PointOfService

Saiba como criar um objeto de dispositivo PointOfService que lhe dará acesso às propriedades somente leitura do periférico e reivindicar o periférico para uso exclusivo em um aplicativo UWP (Plataforma Universal do Windows).

Criar um objeto de dispositivo

Depois de identificar o dispositivo PointOfService que você deseja usar, seja de uma nova enumeração ou de um DeviceID armazenado, basta chamar FromIdAsync com oDeviceID que você escolheu programaticamente ou o usuário selecionou para criar um novo objeto de dispositivo de Ponto de Serviço.

Este exemplo tenta criar um novo objeto BarcodeScanner com FromIdAsync usando um DeviceID. Se houver uma falha ao criar o objeto, uma mensagem de depuração será gravada.


    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");
    }
    

Depois de ter um objeto de dispositivo, você pode acessar os métodos, propriedades e eventos do dispositivo.

Ciclo de vida do objeto do dispositivo

Antes do Windows 8, os aplicativos tinham um ciclo de vida simples. Os aplicativos Win32 e .NET estão em execução ou não e os periféricos PointOfService geralmente eram reivindicados para o ciclo de vida completo do aplicativo. Quando um usuário os minimiza ou se afasta deles, eles continuam a ser executados. Isso foi bom até que os dispositivos portáteis e o gerenciamento de energia se tornassem cada vez mais importantes.

O Windows 8 introduziu um novo modelo de aplicativo com aplicativos UWP. Em um nível alto, um novo estado suspenso foi adicionado. Um aplicativo UWP é suspenso logo após o usuário minimizá-lo ou alternar para outro aplicativo. Isso significa que os threads do aplicativo são interrompidos, o aplicativo é deixado na memória, a menos que o sistema operacional precise recuperar recursos, e todos os objetos de dispositivo que representam periféricos PointOfService são fechados automaticamente para permitir que outros aplicativos acessem os periféricos. Quando o usuário volta para o aplicativo, ele pode ser restaurado rapidamente para um estado de execução e restaurar conexões de periféricos PointOfService, desde que ainda estejam disponíveis na retomada.

Você pode detectar quando um objeto é fechado por qualquer motivo com um <DeviceObject>. Em seguida, o manipulador de eventos fechado anota a ID do dispositivo para restabelecer a conexão no futuro. Como alternativa, talvez você queira lidar com isso em uma notificação de suspensão do aplicativo para salvar as IDs do dispositivo para restabelecer as conexões do dispositivo na notificação de retomada do aplicativo. Certifique-se de não duplicar os manipuladores de eventos e duplicar ações para o objeto de dispositivo em ambos os <DeviceObject>. Fechado e suspensão do aplicativo.

Dica

Consulte os tópicos a seguir para obter mais informações sobre o ciclo de vida do aplicativo UWP (Plataforma Universal do Windows) do Windows 10: