Cómo guardar el último dispositivo usado para reutilizarlo más adelante (HTML)
[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente
En este tema se explica cómo obtener información de un dispositivo a partir de un identificador de dispositivo guardado, mediante una llamada a DeviceInformation.CreateFromIdAsync.
Lo que debes saber
Tecnologías
- Windows Runtime
Requisitos previos
Debes tener conocimientos de JavaScript y HTML.
Instrucciones
Pasar el identificador de la interfaz de dispositivo a createFromIdAsync
La primera vez que ejecutes una aplicación que necesite usar dispositivos, enumera los dispositivos disponibles, esta selecciona un objeto DeviceInformation de los resultados de la enumeración y pasa la propiedad DeviceInformation.Id a una API de Windows en tiempo de ejecución para tener acceso al dispositivo. Puede ser recomendable que una aplicación guarde su identificador de dispositivo, de forma que la próxima vez que se ejecute pueda iniciarse más rápido al comprobar si está disponible el último dispositivo usado, antes de iniciar otra enumeración.
El parámetro savedDeviceID de esta función es el identificador del último dispositivo usado. El código siguiente llama a createFromIdAsync para crear un objeto DeviceInformation y define dos funciones anónimas para tratar los resultados correctos y erróneos. Si el método se ejecuta correctamente, la aplicación usa el objeto DeviceInformation para determinar si la interfaz del dispositivo está habilitada antes de pasarlo a una API para usar el 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.
});
}