这几天我一直在苦苦思索,就是无法解决。
这是我的 .run
参与app.js
文件位于 www/js/
文件夹:
angular.module('starter', ['ionic', 'starter.controllers', 'ngCordova'])
.run(function($rootScope, $state, $ionicPlatform, $cordovaDevice) {
$ionicPlatform.ready(function(){
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
alert( 'Platform ready!' );
$rootScope.uuid = $cordovaDevice.getUUID();
//$rootScope.$apply();
alert( 'Uuid: ' + $rootScope.uuid );
});
})
这是我的 Controller ,它接收 $rootScope.uuid
并将其传递给本地 $scope.uuid
变量:
app.controller('RoomlistsCtrl', function($rootScope, $scope, $ionicModal, $sailsBind) {
$scope.uuid = $rootScope.uuid;
});
用于在服务器列表中添加新项目的表单:
<input ng-model="newItem.uuid" type="hidden" value="{{ uuid }}">
问题是,当我 ionic build android
在 Windows 上(在我的工作电脑上)一切正常,我收到 uuid
的警报设备准备就绪后,但在我的家用电脑(运行 Elementary 0.3 Freya)上,当我 ionic build android
构建进展顺利,一切似乎都正常,但在 Android 手机 (4.2) 上运行应用程序后我没有收到警报。
我安装了设备插件,这是输出:
amotio@potato:~/git/my_project/mobile$ ionic plugin add org.apache.cordova.device
running cordova plugin add org.apache.cordova.device
Fetching plugin "org.apache.cordova.device" via plugin registry
Plugin "org.apache.cordova.device" already installed on android.
Saving plugin to package.json file
我在 .run
中包含了依赖项功能,据我所知,一切都按预期进行。
有谁知道这里会发生什么情况?在过去的两天里,我一直在努力解决这个问题,我已经阅读了文档中的几乎所有内容(它仍然使用旧的调用方式 ionic.Platform.ready()
- 我也尝试过但没有成功,我已经包含了 cordova.js
文件就在 </body>
标记之前,正如其他堆栈问题中提到的那样。
我很高兴能提供任何帮助或线索来揭示可能存在的问题,谢谢。
最佳答案
您是否尝试在设备就绪指令后设置警报?
问题可能与您的第一个警报上方的命令有关
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
打印出 window.cordova/window.cordova.plugins.Keyboard & window.StatusBar 的每个值 cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);或 StatusBar.styleDefault();可能正在发送那个问题
关于javascript - $ionicDevice.ready() 在 Linux 上构建时不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29682351/