Como salvar o último dispositivo usado para reutilizá-lo posteriormente (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Este tópico explica como obter informações do dispositivo a partir de uma ID de dispositivo salva, chamando DeviceInformation.CreateFromIdAsync.

O que você precisa saber

Tecnologias

  • Windows Runtime

Pré-requisitos

Você precisa conhecer JavaScript e HTML.

Instruções

Passe a ID de interface de dispositivo para createFromIdAsync

Da primeira vez que você executa um aplicativo que precisa usar dispositivos, ele enumera os dispositivos disponíveis, seleciona um objeto DeviceInformation dos resultados da enumeração e passa a propriedade DeviceInformation.Id para uma API de Tempo de Execução do Windows para acessar o dispositivo. Pode ser bom que o aplicativo salve essa ID de dispositivo; assim, da próxima vez que ele for executado, poderá ser iniciado mais rápido, verificando se o último dispositivo usado está disponível, em vez de iniciar outra enumeração.

O parâmetro savedDeviceID dessa função é uma ID do último dispositivo usado. O código a seguir chama createFromIdAsync para criar um objeto DeviceInformation e define duas funções anônimas para tratar dos resultados de êxito e erro. Se o método têm êxito, o aplicativo usa o objeto DeviceInformation para determinar se a interface do dispositivo está ativada antes de passá-la para uma API usar o dispositivo.

function getLastUsedDeviceInfo(savedDeviceID) {

    // Create a DeviceInformation object from the ID.
    var Enum = Windows.Devices.Enumeration;
    var DevInf = Enum.DeviceInformation;
    DevInf.createFromIdAsync(savedDeviceId).then(
        function(devinfo) {             
            printMessage("Found last-used device. Name: " + devinfo.name);
            if (devinfo.isEnabled) {
                // Add code to pass devinfo.id to an appropriate API.
                // For instance, if devinfo is a camera, use the id property 
                // to select the camera as the one the Camera Capture API
                // should use, by setting the VideoDeviceId property of 
                // Windows.Media.Capture.MediaCaptureInitializationSettings.
            } else { 
                // Handle the case of the device not being enabled.
            }
        },
        function (e) {
            displayError("Failed to create DeviceInformation: " + e.message);
            // Since the last-used device wasn't found, add code here
            // to call FindAllAsync or CreateWatcher to find other devices.
        });
}