如何在sapui5应用程序上使用Cordova库的device.uuid?

问题描述

我正在尝试在我的Sapui5应用程序上使用Cordova的device.uuid,但似乎无法正常工作。我在Sap fiori客户端应用程序上运行我的应用程序。 Cordova的其他功能,例如条形码扫描仪等,都可以正常工作,但是当我尝试使用device.uuid时出现错误。我不知道确切的错误是什么,因为我无法调试sap fiori客户端应用程序,并且应用程序日志没有显示出它的原因。我所知道的是当我编写如下代码时;

var a = device.uuid;

执行此行时,应用程序停止。在本地sap ide或sap Web ide完整堆栈上不会发生此问题。 Device.uuid为null,但不会引起错误,但sap fiori cliemt应用程序除外。

有人知道为什么会这样吗?

谢谢, 最好的问候。

解决方法

很有可能是device.ready()事件未触发,或者cordova-plugin-device插件未正确安装/未正确引用(有关更多信息,请参见https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/)。

在将变量设置为uuid属性之前,您也许可以测试空设备对象:

var a = null; // or set to some generic "uuid-like" value

if (device) {
  a = device.uuid; 
}