Comment enregistrer le dernier périphérique utilisé afin de le réutiliser ultérieurement (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Cette rubrique explique comment obtenir les informations de périphérique à partir d’un ID de périphérique enregistré, en appelant DeviceInformation.CreateFromIdAsync.

Ce que vous devez savoir

Technologies

  • Windows Runtime

Prérequis

Vous devez être familiarisé avec JavaScript et HTML.

Instructions

Passer l’ID d’interface du périphérique à createFromIdAsync

La première fois que vous exécutez une application qui a besoin d’utiliser des périphériques, elle énumère les périphériques disponibles, sélectionne un objet DeviceInformation à partir des résultats de l’énumération et passe la propriété DeviceInformation.Id à une API Windows Runtime afin d’accéder au périphérique. II est de bonne pratique pour une application d’enregistrer cet ID de périphérique, afin que lors de sa prochaine exécution, elle puisse démarrer plus rapidement en vérifiant si le dernier périphérique utilisé est disponible, avant de lancer une autre énumération.

Le paramètre de cette fonction savedDeviceID est l’ID du dernier périphérique utilisé. Le code suivant appelle createFromIdAsync pour créer un objet DeviceInformation, et définit deux fonctions anonymes afin de gérer les réussites et les résultats d’erreur. Si la méthode réussit, l’application utilise l’objet DeviceInformation pour déterminer si l’interface du périphérique est activée avant de la passer à une API en vue d’utiliser le périphérique.

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