【发布时间】:2016-08-12 05:23:29
【问题描述】:
我正在创建一个需要引用 iOS 和 Android 设备 UUID 的 Ionic 应用程序。
据我了解,在使用这些 Cordova 插件时,设备需要先加载应用程序,然后您可以引用 cordovaDevice.getUUID()。
我在登录/注册页面上运行它,这是我的应用程序的第一页。
这是我的登录控制器的一部分:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(device.cordova);
$scope.id = $cordovaDevice.getUUID();
return $scope.id;
}
在该代码之上我有 $scope.id = "1"; 我正在返回 $scope.id,以便将其发布到 api 端点。 当我在我的设备上加载 ios 应用程序时,我第一次运行该应用程序时它就可以工作。 id 等于设备的实际 ID。 如果我重新打开应用程序,它就不再工作了,id 保持等于 1。
【问题讨论】:
-
把它放在 angular.run 上,就像 var myId=1; angular.run(function($cordovaDevice) {myId=$cordovaDevice.getUUID(); }
-
@AnujGupta 那么我将如何在我的控制器中使用 $scope.id ?我不需要使它成为rootscope吗?或者我可以直接在我的控制器中使用 run 吗?
-
你安装了cordova设备插件吗?如果已安装,则只能访问
$cordovaDevice -
然后尝试在
$cordovaDevice.getUUID();上包装超时可能需要一些时间来获取 UUID ? -
@HardikVaghani 也可以!
标签: angularjs cordova ionic-framework cordova-plugins ngcordova