The device object describes the device's hardware and software.


Variable Scope

Since device is assigned to the window object, it is implicitly in the global scope.

// These reference the same `device`
var phoneModel = window.device.model;
var phoneModel = device.model;

Accessing the Feature

As of version 3.0, Cordova implements device-level APIs as plugins. Use the CLI's plugin command, described in The Command-Line Interface, to add or remove this feature for a project:

    $ cordova plugin add org.apache.cordova.device
    $ cordova plugin ls
    [ 'org.apache.cordova.device' ]
    $ cordova plugin rm org.apache.cordova.device

These commands apply to all targeted platforms, but modify the platform-specific configuration settings described below:

  • Amazon Fire OS

    (in app/res/xml/config.xml)
    <feature name="Device">
        <param name="android-package" value="org.apache.cordova.device.Device" />
  • Android

    (in app/res/xml/config.xml)
    <feature name="Device">
        <param name="android-package" value="org.apache.cordova.device.Device" />
  • BlackBerry 10

    (in www/config.xml)
    <feature name="Device" value="Device"/>
  • Windows Phone (in Properties/WPAppManifest.xml)

        <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
        <Capability Name="ID_CAP_IDENTITY_DEVICE" />
        <Capability Name="ID_CAP_IDENTITY_USER" />

Reference: Application Manifest for Windows Phone

  • Tizen (in config.xml)

    <feature name="" required="true"/>

Reference: Application Manifest for Tizen Web Application

Some platforms may support this feature without requiring any special configuration. See Platform Support for an overview.