英特尔 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" 插件。 (就在它旁边)。
首先,我想说的是,所有的东西都可以在模拟器中运行,但是当我构建它并在设备上测试时,它们却不行。
我想将我的方向设置为横向,所以我按照以下示例进行操作:
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" 插件。 (就在它旁边)。