在PhoneGap应用中显示Android中的状态栏(即防止全屏)

bla*_*k3r 15 android android-layout cordova

我有一个phonegap 3.0.0应用程序.我的应用程序涵盖状态栏(带时钟,接收信息等).由于我不是全屏游戏,这是不可取的.

我相信它是作为"全屏"应用运行的.

我在堆栈上找到了相反的帖子(即让应用程序全屏显示),并做了相反的建议.我想知道PhoneGap或者我用来创建项目的PhoneGap CLI是否发生了变化,因为我的应用程序显示全屏.

我试过这个:

  public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        super.setIntegerProperty("splashscreen", R.drawable.splash);

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

        super.loadUrl(Config.getStartUrl(), 10000);
    }
Run Code Online (Sandbox Code Playgroud)

明确告诉它不要处于全屏模式....但它仍然显示全屏.

Lir*_*mer 39

上面建议的本机代码可以工作,但更简洁的方法就是确保你没有在config.xml中:

<preference name="fullscreen" value="true" />
Run Code Online (Sandbox Code Playgroud)

你也可以将它设置为"false",但它实际上是默认值,所以它不是必需的.适合我.


bla*_*k3r 19

我想到了.

Splashscreen插件必须将其设置为全屏.通过调用clearFlagsAFTER方法super.loadUrl,一旦应用程序加载,状态栏就会显示出来.

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    super.setIntegerProperty("splashscreen", R.drawable.splash);
    super.loadUrl(Config.getStartUrl(), 10000);

    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
Run Code Online (Sandbox Code Playgroud)

  • 很好的一个,我一直试图设置这个彻底的配置,没有意识到它实际上是泼水屏幕搞乱的状态 (5认同)
  • 闪屏!隐藏的罪魁祸首.这应该记录在案 (2认同)