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