Gerät
Das
device-Objekt beschreibt des Geräts Hard- und Software.
Eigenschaften
- Device.Name
- Device.Cordova
- Device.Platform
- Device.UUID
- Device.Version
- Device.Model
Geltungsbereich von Variablen
Da device zugewiesen ist das window -Objekt, es ist implizit im globalen Gültigkeitsbereich.
// These reference the same `device`
var phoneName = window.device.name;
var phoneName = device.name;
Zugriff auf die Funktion
Ab Version 3.0 implementiert Cordova Geräteebene APIs als Plugins. Verwenden Sie der CLI plugin Befehl, beschrieben in der Command-Line Interface, hinzufügen oder Entfernen dieses Feature für ein Projekt:
$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
$ cordova plugin rm org.apache.cordova.core.device
Diese Befehle gelten für alle Zielplattformen, aber die unten beschriebenen Plattform-spezifische Konfigurationseinstellungen ändern:
-
Android
(in app/res/xml/config.xml) <feature name="Device"> <param name="android-package" value="org.apache.cordova.Device" /> </feature> (in app/AndroidManifest.xml) <uses-permission android:name="android.permission.READ_PHONE_STATE" /> -
BlackBerry WebWorks
(in www/plugins.xml) <feature name="Device"> <param name="blackberry-package" value="org.apache.cordova.device.Device" /> </feature> (in www/config.xml) <feature id="blackberry.app" required="true" version="1.0.0.0" /> <rim:permissions> <rim:permit>read_device_identifying_information</rim:permit> </rim:permissions> -
Windows Phone (in
Properties/WPAppManifest.xml)<Capabilities> <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" /> <Capability Name="ID_CAP_IDENTITY_DEVICE" /> <Capability Name="ID_CAP_IDENTITY_USER" /> </Capabilities> -
Tizen (in
config.xml)<feature name="http://tizen.org/api/systeminfo" required="true"/>
Einige Plattformen können dieses Feature unterstützen, ohne dass eine besondere Konfiguration. Eine Übersicht finden Sie unter Plattform-Support.
device.name
WARNING: device.name is deprecated as of version 2.3.0. Use device.model instead.
Modellname des Geräts zu erhalten.
var string = device.name;
Beschreibung
device.nameGibt den Namen der Modell- oder des Geräts zurück. Dieser Wert wird vom Gerätehersteller festgelegt und kann zwischen den Versionen des gleichen Produkts unterschiedlich sein.
Unterstützte Plattformen
- Android
- BlackBerry WebWorks (OS 5.0 und höher)
- iOS
- Tizen
- Windows Phone 7 und 8
- Windows 8
Kleines Beispiel
// 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;
Vollständiges Beispiel
<!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>
Android Macken
- Ruft den Produktname anstelle des Modellnamens, das ist oft der Codename für die Produktion. Beispielsweise das Nexus One gibt
Passion, und Motorola Droid gibtvoles.
Windows Phone 7 und 8 Macken
- Gibt das vom Hersteller angegebenen Gerätemodell zurück. Beispielsweise gibt der Samsung-Fokus
SGH-i917.
Tizen Macken
- Gibt z. B. das Gerätemodell von dem Kreditor zugeordnet,
TIZEN
device.cordova
Rufen Sie die Version von Cordova, die auf dem Gerät ausgeführt.
var string = device.cordova;
Beschreibung
device.cordovaGibt die Version von Cordova, die auf dem Gerät ausgeführt.
Unterstützte Plattformen
- Android
- BlackBerry WebWorks (OS 5.0 und höher)
- iOS
- Tizen
- Windows Phone 7 und 8
- Windows 8
Kleines Beispiel
var name = device.cordova;
Vollständiges Beispiel
<!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
Name des Betriebssystems des Geräts zu erhalten.
var string = device.platform;
Unterstützte Plattformen
- Android
- BlackBerry WebWorks (OS 5.0 und höher)
- iOS
- Tizen
- Windows Phone 7 und 8
- Windows 8
Kleines Beispiel
// Depending on the device, a few examples are:
// - "Android"
// - "BlackBerry"
// - "iOS"
// - "WinCE"
// - "Tizen"
var devicePlatform = device.platform;
Vollständiges Beispiel
<!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>
BlackBerry Macken
Geräte möglicherweise die Gerätenummer für die Version von Plattform anstelle des Namens Plattform zurück. Beispielsweise gibt der Storm2 9550 einen Wert wie2.13.0.95.
Windows Phone 7 Macken
Windows Phone 7 Geräte melden die Plattform alsWinCE.
Windows Phone 8 Macken
Windows Phone 8 Geräte melden die Plattform alsWin32NT.
device.uuid
Des Geräts Universally Unique Identifier (UUID zu erhalten).
var string = device.uuid;
Beschreibung
Die Details wie eine UUID generiert wird werden vom Gerätehersteller und beziehen sich auf die Plattform oder das Modell des Geräts.
Unterstützte Plattformen
- Android
- BlackBerry WebWorks (OS 5.0 und höher)
- iOS
- Tizen
- Windows Phone 7 und 8
- Windows 8
Kleines Beispiel
/ / Android: wird eine zufällige 64-Bit-Ganzzahl (als Zeichenfolge, wieder!) / / die ganze Zahl wird beim ersten Start des Geräts erzeugt / / / / BlackBerry: gibt die PIN-Nummer des Gerätes / / Dies ist eine neunstellige eindeutige Ganzzahl (als String, obwohl!) / / / / iPhone: (paraphrasiert aus der Dokumentation zur UIDevice-Klasse) / / liefert eine Reihe von Hash-Werte, die aus mehreren Hardware erstellt identifiziert.
/ / Es ist gewährleistet, dass für jedes Gerät eindeutig sein und kann nicht gebunden werden / / an den Benutzer weitergeleitet.
/ / Windows Phone 7: gibt einen Hash des Gerät + aktueller Benutzer, / / wenn der Benutzer nicht definiert ist, eine Guid generiert und wird weiter bestehen, bis die app deinstalliert wird / / Tizen: gibt das Gerät IMEI (International Mobile Equipment Identity oder IMEI ist eine Zahl / / einzigartig für jedes GSM- und UMTS-Handy.
var deviceID = device.uuid;
Vollständiges Beispiel
<!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 Quirk
Die uuid auf iOS ist nicht eindeutig auf ein Gerät, aber für jede Anwendung, für jede Installation variiert. Es ändert sich, wenn Sie löschen und neu die app installieren, und möglicherweise auch beim iOS zu aktualisieren, oder aktualisieren Sie auch Ihre app pro Version (scheinbaren in iOS 5.1). Die uuid ist kein zuverlässiger Wert.
Windows Phone 7 und 8 Macken
Die uuid für Windows Phone 7 die Berechtigung erfordert ID_CAP_IDENTITY_DEVICE . Microsoft wird diese Eigenschaft wahrscheinlich bald abzuschaffen. Wenn die Funktion nicht verfügbar ist, generiert die Anwendung eine persistente Guid, die für die Dauer der Installation der Anwendung auf dem Gerät verwaltet wird.
device.version
Version des Betriebssystems zu erhalten.
var string = device.version;
Unterstützte Plattformen
- Android 2.1 +
- BlackBerry WebWorks (OS 5.0 und höher)
- iOS
- Tizen
- Windows Phone 7 und 8
- Windows 8
Kleines Beispiel
/ / Android: Froyo OS würde "2.2" zurück / / Eclair OS zurückkehren würde, "2.1", "2.0.1" oder "2.0" / / Version kann auch zurückgeben update Level "2.1-update1" / / / / BlackBerry: Torch 9800 mit OS 6.0 würde zurückgeben "6.0.0.600" / / / / iPhone: iOS 3.2 gibt "3.2" / / / / Windows Phone 7: liefert aktuelle OS-Versionsnummer, ex. on Mango returns 7.10.7720
// Tizen: returns "TIZEN_20120425_2"
var deviceVersion = device.version;
Vollständiges Beispiel
<!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>