cordova-plugin-device 獲取設備信息

官方文檔: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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章