英特尔 XDK/Cordova onDeviceReady 事件未触发

Intel XDK/Cordova onDeviceReady event does not fire

首先,我想说的是,所有的东西都可以在模拟器中运行,但是当我构建它并在设备上测试时,它们却不行。

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

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

当我在 "Test" 模式下使用它时,将文件推送到服务器上,然后从云端下载应用程序,它工作正常。

但是,当我使用 "Cordova 3.X Hybrid Mobile App Platforms" 菜单中的“构建”->“为 android 构建”来构建应用程序,然后下载并安装它时,它不起作用。

你可以说我可以从 "Legacy Hybrid Mobile App Platforms" 菜单构建应用程序,然后在 "Assets" 菜单中选择横向。是的,可以,但我还想使用 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: 如果需要,我可以 post index.html 和其他代码。

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



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

间隔内的这段代码将以 200 毫秒间隔调用,直到对象 'intel' 被定义。

好的,问题确实出在启用插件上。结果我必须在 "Included plug- ins menu" 和 "Featured and Custom Cordova plug- ins" 中同时启用 "Device" 插件。 (就在它旁边)。