官方文檔:http://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/index.html
ng-cordova 文檔:http://ngcordova.com/docs/plugins/device/
1、安裝命令
cordova plugin add cordova-plugin-device
2、getDevice 獲取到的信息
var device = {
available: false,
platform: '', //獲取操作系統名稱
version: '', //獲取操作系統版本
uuid: '', //獲取設備通用唯一標識uuid
cordova: '', //獲取當前cordova的版本
model: '', //返回設備的模型或產品名稱。例如:'MI MAX'
manufacturer: '', //獲取設備製造商,例如:'Xiaomi'
isVirtual: '', //判斷設備是否在虛擬機上運行
serial: '' //獲取設備序列號,例如:'277a9a00'
};
3、封裝的AngularJS工具類
/**
* 獲取設備的信息
* @author hxh
* @date 2018.3.28
*/
angular.module('starter.Device', ['ngCordova'])
.factory('$DeviceUtil', function ($cordovaDevice) {
var device = {
available: false,
platform: '', //獲取操作系統名稱
version: '', //獲取操作系統版本
uuid: '', //獲取設備通用唯一標識uuid
cordova: '', //獲取當前cordova的版本
model: '', //device.model返回設備的模型或產品名稱
manufacturer: '', //獲取設備製造商
isVirtual: '', //判斷設備是否在虛擬機上運行
serial: '' //獲取設備序列號
};
return {
/**
* 獲取設備信息
* @returns {*|Object}
*/
getDevice: function () {
return $cordovaDevice.getDevice();
},
/**
* 獲取設備信息
* @returns {string} 返回JSON串
*/
getDeviceToString: function () {
return JSON.stringify(this.getDevice());
},
/**
* 獲取操作系統名稱
* @returns {*} "Android" "BlackBerry 10" "browser" "iOS" "WinCE" "Tizen" "Mac OS X"
*/
getPlatform: function () {
return $cordovaDevice.getPlatform();
},
/**
* 獲取操作系統版本
* @returns {*}
*/
getVersion: function () {
return $cordovaDevice.getVersion();
},
/**
* 獲取設備通用唯一標識uuid
* @returns {string|null|*}
*/
getUUID: function () {
return $cordovaDevice.getUUID();
},
/**
* 獲取當前cordova的版本
* @returns {string|*|null}
*/
getCordova: function () {
return $cordovaDevice.getCordova();
},
/**
* 獲取設備的模型或產品名稱
* @returns {string|null|*}
*/
getModel: function () {
return $cordovaDevice.getModel();
},
/**
* 獲取設備製造商
* @returns {string|null|*}
*/
getManufacturer: function () {
return $cordovaDevice.getManufacturer();
},
/**
* 設備是否在虛擬機上運行
* @returns {string|null|*}
*/
getIsVirtual: function () {
return this.getDevice().isVirtual;
},
/**
* 獲取設備序列號
* @returns {string|null|*}
*/
getSerial: function () {
return this.getDevice().serial;
}
}
});
4、在AngularJS控制器中調用
document.addEventListener('deviceready', function () {
console.log('device:' + JSON.stringify($DeviceUtil.getDevice()));
console.log('version:' + $DeviceUtil.getVersion());
}, false);