查找设备的 UUID - UniqueDeviceID 插件

Posted

技术标签:

【中文标题】查找设备的 UUID - UniqueDeviceID 插件【英文标题】:Finding the UUID of the device - UniqueDeviceID plugin 【发布时间】:2015-03-25 11:27:12 【问题描述】:

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

当tring运行以下代码时

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

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

; `

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

这确实是在cordova.js 中定义的 我该如何解决这个问题。 提前致谢

【问题讨论】:

为什么不使用cordova自己的插件来达到这个目的呢?用法:device.uuid docs.phonegap.com/en/edge/cordova_device_device.md.html 对于我在项目中使用的 3 以上版本没有贬值。所使用的插件只是一个替代品 据我所知,唯一不推荐使用的是“device.name”,它在 2.3.0 版中已被弃用。您可以改用 device.model 。但是关于 uuid,我没有看到任何通知表明它也已被弃用。另外,我也在我的项目中使用它(版本> 3)。您能否分享声称已弃用的来源? 【参考方案1】:

get方法需要在应用初始化的device.ready()中调用。 将它放在其他地方会导致上述错误,对我来说效果很好。

【讨论】:

【参考方案2】:

有一个内置函数,用于获取 uuid:

var string = device.uuid;

完整示例:

<!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

看看,如果这有帮助。

【讨论】:

【参考方案3】:

我使用了来自此链接的 UniqueDeviceID 插件:https://www.npmjs.com/package/cordova-plugin-uniquedeviceid

非常简单而强大。尝试卸载并重新安装应用程序并仍然返回相同的 UUID。 为了使这个插件对我有用,我必须进行两项更改: 1. 上面的链接提到要在 config.xml 文件中添加一个单独的行。我也遵循了同样的方法,但无法构建我的应用程序。我删除了这条线,它工作正常。 2. 就像显示的成功案例一样,还要为失败案例添加一个循环,否则会出现运行时错误。

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

【讨论】:

以上是关于查找设备的 UUID - UniqueDeviceID 插件的主要内容,如果未能解决你的问题,请参考以下文章

分区的几个实用命令

如何查找和替换不同的 UUID

Linux设备中的UUID

JS怎么能实现获取设备的UUID,比如手机访问这个地址可以获取它的UUID。

按 UUID 查找 HKObject

Ebean - 在 UUID 列类型中按 UUID 的一部分查找