Dispositivo

Dispositivo

El objeto device describe del dispositivo hardware y software.

Propiedades

Ámbito de variable

Puesto que el device se asigna al objeto de window, es implícitamente en el ámbito global.

// These reference the same `device`
var phoneName = window.device.name;
var phoneName = device.name;

Acceso a la función

A partir de la versión 3.0, Cordova implementa nivel de dispositivo APIs como plugins. Uso de la CLI plugin comando, que se describe en la interfaz de línea de comandos, para añadir o eliminar esta característica para un proyecto:

    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
    $ cordova plugin rm org.apache.cordova.core.device

Estos comandos se aplican a todas las plataformas específicas, sino modificar las opciones de configuración específicas de la plataforma que se describen a continuación:

Algunas plataformas que soportan esta característica sin necesidad de ninguna configuración especial. Ver soporte de plataforma para tener una visión general.


device.name

WARNING: device.name is deprecated as of version 2.3.0. Use device.model instead.

Obtener el nombre del modelo del dispositivo.

var string = device.name;

Descripción

device.name devuelve el nombre de modelo del dispositivo o producto. Este valor es fijado por el fabricante del dispositivo y puede ser diferente a través de versiones del mismo producto.

Plataformas soportadas

Ejemplo rápido

// Android:    Nexus One       returns "Passion" (Nexus One code name)
//             Motorola Droid  returns "voles"
// BlackBerry: Torch 9800      returns "9800"
// iOS:     All devices     returns either "iPhone", "iPod Touch", "iPhone Simulator", "iPad", "iPad Simulator"
//
var name = device.name;

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Device Properties Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var element = document.getElementById('deviceProperties');
        element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
                            'Device Cordova: '  + device.cordova  + '<br />' +
                            'Device Platform: ' + device.platform + '<br />' +
                            'Device UUID: '     + device.uuid     + '<br />' +
                            'Device Model: '    + device.model    + '<br />' +
                            'Device Version: '  + device.version  + '<br />';
    }

    </script>
  </head>
  <body>
    <p id="deviceProperties">Loading device properties...</p>
  </body>
</html>

Rarezas Android

Windows Phone 7 y 8 rarezas

Rarezas Tizen


device.cordova

Obtener la versión de Cordova que se ejecuta en el dispositivo.

var string = device.cordova;

Descripción

device.cordova devuelve la versión de Cordova en el dispositivo.

Plataformas soportadas

Ejemplo rápido

var name = device.cordova;

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Device Properties Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var element = document.getElementById('deviceProperties');
        element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
                            'Device Cordova: '  + device.cordova  + '<br />' +
                            'Device Platform: ' + device.platform + '<br />' +
                            'Device UUID: '     + device.uuid     + '<br />' +
                            'Device Version: '  + device.version  + '<br />';
    }

    </script>
  </head>
  <body>
    <p id="deviceProperties">Loading device properties...</p>
  </body>
</html>

device.platform

Obtener el nombre del sistema operativo del dispositivo.

var string = device.platform;

Plataformas soportadas

Ejemplo rápido

// Depending on the device, a few examples are:
//   - "Android"
//   - "BlackBerry"
//   - "iOS"
//   - "WinCE"
//   - "Tizen"
var devicePlatform = device.platform;

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Device Properties Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var element = document.getElementById('deviceProperties');
        element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
                            'Device Cordova: '  + device.cordova  + '<br />' +
                            'Device Platform: ' + device.platform + '<br />' +
                            'Device UUID: '     + device.uuid     + '<br />' +
                            'Device Version: '  + device.version  + '<br />';
    }

    </script>
  </head>
  <body>
    <p id="deviceProperties">Loading device properties...</p>
  </body>
</html>

Rarezas de blackBerry

Dispositivos pueden devolver el número de versión de plataforma de dispositivo en lugar del nombre de la plataforma. Por ejemplo, la Storm2 9550 devuelve un valor como 2.13.0.95.

Windows Phone 7 rarezas

Dispositivos Windows Phone 7 informe de la plataforma como WinCE.

Windows Phone 8 rarezas

Dispositivos Windows Phone 8 Informe la plataforma como Win32NT.


device.uuid

Obtener identificador universalmente única del dispositivo (UUID).

var string = device.uuid;

Descripción

Los detalles de cómo se genera un UUID son determinados por el fabricante del dispositivo y son específicos a la plataforma del dispositivo o modelo.

Plataformas soportadas

Ejemplo rápido

// Android: devuelve un entero de 64 bits al azar (como una cadena, otra vez!) 
// el entero es generado en el primer arranque del dispositivo 
// 
// BlackBerry: devuelve el número PIN del dispositivo 
// este es un entero único de nueve dígitos (como una cadena, aunque!) 
// 
// iPhone: (parafraseado de la documentación de la clase UIDevice) 
// devuelve una cadena de valores hash creado a partir 
//  de múltiples hardware identifica.
// Está garantizado para ser único para cada dispositivo y no puede ser atado 
// a la cuenta de usuario.
// Windows Phone 7: devuelve un hash de dispositivo + usuario actual, 
// si el usuario no está definido, un guid generado y persistirá hasta que se desinstala la aplicación 
// 
// Tizen: devuelve el dispositivo IMEI (identidad de equipo móvil internacional o IMEI es un número 
// único para cada teléfono móvil GSM y UMTS.
var deviceID = device.uuid;

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Device Properties Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var element = document.getElementById('deviceProperties');
        element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
                            'Device Cordova: '  + device.cordova  + '<br />' +
                            'Device Platform: ' + device.platform + '<br />' +
                            'Device UUID: '     + device.uuid     + '<br />' +
                            'Device Version: '  + device.version  + '<br />';
    }

    </script>
  </head>
  <body>
    <p id="deviceProperties">Loading device properties...</p>
  </body>
</html>

iOS chanfle

El uuid en iOS no es exclusiva de un dispositivo, pero varía para cada aplicación, para cada instalación. Cambia si borrar y volver a instalar la aplicación, y posiblemente también cuándo actualizar iOS, o incluso actualizar su aplicación por versión (evidente en iOS 5.1). El uuid no es un valor confiable.

Windows Phone 7 y 8 rarezas

El uuid para Windows Phone 7 requiere el permiso ID_CAP_IDENTITY_DEVICE. Microsoft pronto probablemente desaprueban esta propiedad. Si la capacidad no está disponible, la aplicación genera un guid persistente que se mantiene durante la duración de la instalación de la aplicación en el dispositivo.


device.version

Obtener la versión del sistema operativo.

var string = device.version;

Plataformas soportadas

Ejemplo rápido

// Android: Froyo OS volvería "2.2" 
// Eclair OS volvería "2.1", "2.0.1" o "2.0" 
// versión puede devolver también actualizar el nivel "2.1-update1" 
// 
// BlackBerry: Torch 9800 con OS 6.0 volvería "6.0.0.600" 
//
// iPhone: iOS 3.2 devuelve "3.2" 
//
// Windows Phone 7: devuelve el número de versión de sistema operativo actual, ex. on Mango returns 7.10.7720
// Tizen: returns "TIZEN_20120425_2"
var deviceVersion = device.version;

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Device Properties Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var element = document.getElementById('deviceProperties');
        element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
                            'Device Cordova: '  + device.cordova  + '<br />' +
                            'Device Platform: ' + device.platform + '<br />' +
                            'Device UUID: '     + device.uuid     + '<br />' +
                            'Device Version: '  + device.version  + '<br />';
    }

    </script>
  </head>
  <body>
    <p id="deviceProperties">Loading device properties...</p>
  </body>
</html>