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

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

我相信它是作为一个“全屏”应用程序运行。

我发现在这里的post做相反的(即使一个应用程序全屏幕),并做了build议的反面。 我想知道是否在PhoneGap中改变了一些东西,或者是我用来创build项目的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); } 

明确告诉它不是全屏模式….但它仍然显示全屏幕。

Solutions Collecting From Web of "在PhoneGap应用程序的Android中显示状态栏(即防止全屏)"

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

 <preference name="fullscreen" value="true" /> 

你也可以将它设置为“false”,但是它的实际默认值是没有必要的。 为我工作。

我想到了。

Splashscreen插件必须将其设置为全屏。 通过在clearFlags之后调用clearFlags方法,一旦应用程序加载状态栏显示出来。

 @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); } 

在eclipse上的res / xml / config.xml中做这个改变。

 <preference name="fullscreen" value="false" /> 
 // Hide status bar getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); // Show status bar getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

默认的行为应该是不全屏的,你有没有修改你的主题在XML?

我发现了一些其他的代码,以防万一:

 private void toggleFullscreen(boolean fullscreen) { WindowManager.LayoutParams attrs = getWindow().getAttributes(); if (fullscreen) { attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; } else { attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN; } getWindow().setAttributes(attrs); }