【问题标题】:Cordova - StatusBar hidden at launch - AndroidCordova - 启动时隐藏的状态栏 - Android
【发布时间】:2016-10-06 11:21:44
【问题描述】:

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

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

问题是当启动图像出现时,状态栏是可见的。当deviceready 回调被触发时,状态栏会隐藏。我什至尝试将 config.xml 中的全屏首选项设置为 true,但结果是一样的。 Hide at Startup 配置也只和iOS相关。

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

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

【问题讨论】:

  • 您找到解决方案了吗?我有同样的问题。

标签: android cordova cordova-plugins


【解决方案1】:

中找到MainActivity.java

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

将此添加到导入部分:

import android.view.WindowManager;

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

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

这是来自 Hyuck 的 sn-p 回答: Ionic 3 - Hide status bar during splash screen show

它为我完成了这项工作。

【讨论】:

  • 当从原生视图(相机或视频)返回到 web 视图时,您是否使用了与此相反的方法来防止跳转(由 statusBar 引起)?状态栏在哪里瞬间下推 webview?
猜你喜欢
  • 2017-10-18
  • 2016-08-07
  • 2016-03-28
  • 2014-11-14
  • 2014-11-29
  • 2012-08-05
  • 2014-10-30
  • 2016-05-10
相关资源
最近更新 更多