在使用Android的loadUrl时,PhoneGap ondeviceready未调用

时间:2012-09-03 10:32:02

标签: android cordova

在MainAction中加载了

index.html

index.html中的链接将转到game.html。由于使用横向屏幕需要index.htmlgame.html,因此我无法在<a href="game.html">中使用index.html之类的内容。否则,只有index.html将使用landscapre,而game.html将使用由设备方向决定的屏幕,这是不可预期的。所以我用Java创建了一个类来控制加载网页:

public class JsHelper {
    private MainActivity activity;

    public JsHelper(MainActivity act) {
        activity = act;
    }

    public void goToHtml(String url) {
        activity.loadUrl("file:///android_asset/www/" + url);
    }
}

index.html中,我将其称为game.html

window.JsHelper.goToHtml("game.html");

这是我game.html使用横向屏幕的唯一方法

但这是问题所在。

如果document.addEventListener('deviceready', init, true);位于index.htmlinit()将被调用一次。

但如果它在game.html中,即使init()中没有document.addEventListener('deviceready', init, true);,也永远不会调用index.html

game.html:

$(document).ready(function() {
    document.addEventListener('deviceready', init, false);
}

function init() {
    alert("init");
}

API中的内容无效。 navigator.accelerometer将为空。

我想使用navigator.accelerometer并确保game.html使用格局。 请帮帮我!

1 个答案:

答案 0 :(得分:0)

我无法理解为什么你也不会在game.html网站上发起“deviceReady”事件。您只需要添加带有脚本标记的cordova.js,它就会触发。

function ondeviceready(){

     //Call Cordova Functions here
}