2015-03-25 115 views
1

尝试检索设备的唯一设备ID。 使用插件 - UniqueDeviceID查找设备的UUID - UniqueDeviceID插件

当特林运行下面的代码

var exec = require('cordova/exec'); 
module.exports = { 

get: function(success, fail) { 
    cordova.exec(success, fail, 'UniqueDeviceID', 'get', []); 
} 

}; `

我收到以下错误 - “未捕获的ReferenceError:模块没有定义”

这在cordova.js 如何解决这个问题确实定义。 在此先感谢

+1

为什么不使用科尔多瓦自己的插件来达到这个目的? 用法:device.uuid http://docs.phonegap.com/en/edge/cordova_device_device.md.html – shamaleyte 2015-03-25 13:06:09

+0

心不是说贬值对以上版本3,这是我用我的项目。所使用的插件仅用于替代方案 – Learner 2015-03-26 13:20:14

+0

据我所知,唯一不推荐使用的是“device.name”,从版本2.3.0开始已弃用。你可以改用device.model。但关于uuid,我还没有看到任何通知,说这也被弃用。另外我也在我的项目中使用它(版本> 3)。您能否分享声称已过时的来源? – shamaleyte 2015-03-26 14:28:47

回答

0

get方法需要在应用程序初始化的device.ready()被调用。 将它放在其他地方导致上述错误,为我工作得很好。

0

有一个内置功能,用于获取UUID:

var string = device.uuid; 

Full Example:

<!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 Model: ' + device.model + '<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> 

请,请访问此链接:

http://docs.phonegap.com/en/3.1.0/cordova_device_device.md.html#device.uuid

看,如果没有什么帮助。

0

我用UniqueDeviceID插件从这个链接:https://www.npmjs.com/package/cordova-plugin-uniquedeviceid

很简单,功能强大。试图解除并重新安装应用程序,仍然返回相同的UUID。 为了使这个插件对我有效,我必须做出两个更改: 1.上面的链接提到将一个单独的行添加到config.xml文件。我跟着一样,我无法构建我的应用程序。我删除了该行,它工作正常。 2.还为失败案例添加一个循环,就像显示的成功案例一样,否则会出现运行时错误。

function fail(error) { 
    console.log(error); };