Cordova - 在发布时隐藏的StatusBar - Android

Sah*_*nna 8 android cordova cordova-plugins

我正在使用Cordova的StatusBarSplashScreen.我希望应用程序启动全屏即状态栏,以便在应用程序启动时隐藏.

deviceready回调中,我正在调用StatusBar.hide(),稍后我用来StatusBar.show()再次显示状态栏.这很好用.

问题是当出现启动图像时,状态栏可见.当deviceready回调被触发时,状态栏会隐藏.我甚至尝试在config.xml中将Fullscreen首选项设置为true,但结果是相同的.Hide at Startup配置也仅与iOS相关.

有没有办法(仅使用Cordova)启动没有状态栏的应用程序并稍后显示?

注意:我正在使用SplashScreen插件来显示启动画面

小智 1

找到MainActivity.java中

\platforms\android\app\src\main\java\com\yourpackage\name

将其添加到导入部分:

import android.view.WindowManager;
Run Code Online (Sandbox Code Playgroud)

然后将此代码添加到最后一行:

public class MainActivity extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        // enable Cordova apps to be started in the background
        Bundle extras = getIntent().getExtras();
        if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
            moveTaskToBack(true);
        }
        // [Hyuck] add this two line below    
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);
    }

    // [Hyuck] onStart() is totally new.
    @Override
    public void onStart()
    {
        super.onStart();
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是 Hyuck 回答的片段: Ionic 3 - 在启动屏幕显示期间隐藏状态栏

它为我做这项工作。