【问题标题】:PhoneGap Android lock screen rotation with external web page [duplicate]PhoneGap Android锁屏旋转与外部网页[重复]
【发布时间】:2012-08-29 12:37:10
【问题描述】:

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

我试过了

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时,不是全屏,屏幕会旋转。

你猜这里出了什么问题?

【问题讨论】:

    标签: android cordova jquery-mobile screen-rotation


    【解决方案1】:

    我终于通过在 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()">
    

    希望这可以帮助其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多