Intel XDK / Cordova onDeviceReady事件不会触发

时间:2015-03-22 19:14:32

标签: cordova event-handling intel-xdk

首先,我想说所有的事情都在模拟器中起作用,但是当我构建它并在设备上测试它们时,它们不会。

我想将我的方向设置为横向,所以我按照以下示例进行了操作:

document.addEventListener("intel.xdk.device.ready", onDeviceReady, false);               
function onDeviceReady(){
    intel.xdk.device.setRotateOrientation('landscape');
    intel.xdk.device.hideSplashScreen();   
}  

当我在"测试"模式,推送服务器上的文件,然后从云下载应用程序,它工作正常。

但是当我使用Build->构建应用程序时点击" Cordova 3.X混合移动应用平台"菜单,然后下载并安装它,它不起作用。

你可以说我可以从#34;传统混合移动应用平台构建应用程序"菜单然后在"资产"菜单选择风景。是的,但是我也希望使用hideStatusBar(),这也需要onDeviceReady事件。

我正在使用Android 4.1.2在Galaxy S2和使用Android 4.4.2的LG G2上进行测试。

此外,我开始了一个带有模板的新项目,并且有以下几行:

// Listen to deviceready event which is fired when Cordova plugins are ready
document.addEventListener('deviceready', function() {
    // Call splashscreen API to hide the splash.
    navigator.splashscreen.hide();
});

但他们也没有工作。

似乎deviceReady事件根本不会发生。知道可能是什么问题或建议解决方法?我只是希望应用程序处于横向状态并隐藏状态栏。我不需要XDK的其他任何东西。

PS:如果需要,我可以发布index.html和其他代码。

2 个答案:

答案 0 :(得分:0)

也许这样的事情可以解决它。



    interval = setInterval(function(){
        if(intel){
            //your block code inside the onDeviceReady()
            clearInterval(interval);
        }
    },200);

此间隔内的代码将以200毫秒的间隔调用,直到定义了对象“intel”。

答案 1 :(得分:0)

好的问题确实在于启用插件。事实证明,我必须启用“包含的插件菜单”中的“设备”插件以及“特色和自定义Cordova插件”。 (就在它旁边)。