2012-08-29 28 views
0

我想禁用屏幕旋轉和始終使用橫向並始終使用全屏。PhoneGap Android鎖定屏幕旋轉與外部網頁

我試圖

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,它不是全屏幕和屏幕會旋轉。

任何猜測這裏有什麼問題?

回答

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()"> 

希望這可以幫助別人。