0

我想禁用屏幕旋转并始终使用横向并始终使用全屏。

我试过

android:screenOrientation="landscape"

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

它们都适用于第一个网页(包括 jQuery Mobile 和 PhoneGap)。这是第一页:

super.loadUrl("file:///android_asset/www/index.html");

它是全屏的,不会旋转屏幕。在 中index.html,有一个指向 game.html 的链接(包括 PhoneGap 但不包括 jQuery Mobile):

<a href="game.html" data-transition="slide" rel="external">

但是在 中时game.html,它不是全屏并且屏幕会旋转。

猜猜这里有什么问题?

4

1 回答 1

0

我终于通过在 Java 代码而不是 JavaScript 中加载 url 来解决这个问题。

这是如何做到这一点的。

public class MainActivity extends DroidGap {

    private JsHelper jsHelper;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.init();

        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        jsHelper = new JsHelper(this);
        super.appView.addJavascriptInterface(jsHelper, "JsHelper");

        super.loadUrl("file:///android_asset/www/index.html");
    }
}

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

<script type="text/javascript">
    function func() {
        window.JsHelper.goToHtml("game.html");
    }
</script>
<a href="#" data-transition="slide" rel="external" onclick="func()">

希望这可以帮助其他人。

于 2012-08-30T03:46:53.760 回答