javascript - 升级到 Phonegap 2.9.0 - deviceready 在 Android 上未触发

标签 javascript android cordova

从 Phonegap 2.5.0 升级到 2.9.0 后,我无法再触发 deviceready 事件。

我尝试过的事情:

  1. 添加包含 {}cordova_plugins.json 文件

  2. 在计时器中查找 window.device(似乎从未初始化)(建议 here )

  3. cordova.js 中删除尝试加载 cordova_plugins.json 的代码,并替换为 finishPluginLoading()

似乎没有什么效果。我正在为这个而揪头发。趁我还剩下一些,请帮忙!

<小时/>

这是到目前为止我的代码,但是它已经经过了多次迭代,因此它包含一些死代码,显示了我尝试过的其他途径:

$(document).ready(function() {
    function initializePhoneGap( success, failure ) {
        var timer = window.setInterval( function () {
            if ( window.device ) {
                window.clearInterval( timer );
                success();
            }
        }, 100 );
        window.setTimeout( function () { //failsafe
            if ( !window.device ) { //phonegap failed
                window.clearInterval( timer );
                failure();
            };
        }, 10000 ); //5 seconds
    }

    console.log( 'Waiting for launch...');
    if (navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|IEMobile)/)) {
        //$(document).on("deviceready", didFinishLaunching, false);
        document.addEventListener("deviceready", didFinishLaunching, false);
        //initializePhoneGap( function(){ console.log('Phonegap initialized'); didFinishLaunching() }, function(){ console.log('Phonegap timed out'); didFinishLaunching() } );
    } else {
        console.log('Skipping phonegap initialization');
        didFinishLaunching();
    }

    function didFinishLaunching() {
        ....

最佳答案

你的 ondeviceready 应该是第一个被调用的东西,而不是在 .ready 中。

它应该看起来像这样:

<script>
    document.addEventListener("deviceready", deviceIsReady, false);

    function deviceIsReady() {
        /*This is where all of you initialization code should go. 
          With PhoneGap the deviceready should be the first thing*/
    }

</script>

只需坚持使用 PhoneGap 的 deviceready 而不是 $(document).ready()

关于javascript - 升级到 Phonegap 2.9.0 - deviceready 在 Android 上未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18578432/

相关文章:

javascript - 如何更改站点范围的 jQuery SlideUp/slideDown 持续时间?

javascript - 获取句子数组

javascript - Fisher-Yates 洗牌可以产生所有纸牌排列吗?

javascript - 使用 fabricjs 从 json 到图像

android - 我们是否还需要使用新的 abi arm64-v8a 在运行时检测 neon 支持?

ios - Ionic cordova 构建 iOS 不创建构建文件夹并出现 sass gulp 错误

javascript - 使用 navigator.camera 或纯 javascript 拍摄照片

java - ORMLite - 更新没有空值

android - 相对布局中添加的 fragment 下方的按钮如何可点击

Android 与 phonegap。如何从 JAVA 类访问 Web View ?