【问题标题】:Cordova splashscreen whitescreen coming while application launching second time应用程序第二次启动时出现 Cordova 闪屏白屏
【发布时间】:2015-10-07 07:39:05
【问题描述】:

在启动画面完全启动后,我正在为容器应用程序使用 spalshscreen 插件(正在加载 inappbrowser url)。第一次按预期启动启动画面。但是第二次我开始白屏显示。如果应用程序从设备堆栈中删除,那么它将显示启动屏幕。我想在退出应用并重新启动后显示启动画面。

我在 config.xml splascreendelay 中添加了首选项以及闪屏图标

请帮我解决这个问题

【问题讨论】:

    标签: cordova


    【解决方案1】:

    有同样的问题。

    对于 Android,此解决方案帮助了我:

    我更改了以下内容: \platforms\android\src\org\apache\cordova\splashscreen\SplashScreen.java

    找到这一行: protected void pluginInitialize() 必须在第 71 行并更改

    来自:

            if (HAS_BUILT_IN_SPLASH_SCREEN || !firstShow) {
    

            if (HAS_BUILT_IN_SPLASH_SCREEN) {
    

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      就像您自己说的那样,启动画面通常仅在应用首次启动时可见。但是,SplashScreen 插件确实包含功能,如果您愿意,可以再次显示启动画面。

      如果您想在应用移至后台并从后台返回时也显示启动画面,则应收听 cordova 的“暂停”事件,您可以找到 here

      引发此事件时,您应该使用navigator.splashscreen.show(); 再次启动启动画面。然后在关闭应用程序时闪屏将可见,并且在您稍后再次启动应用程序时仍然可见。要在下次进入应用时隐藏启动画面,请在适当的时候调用navigator.splashscreen.hide();

      更多关于splashscreen插件的使用你可以找到here

      【讨论】:

      • 我正在退出 inappbrowser 退出事件 ref.addEventListener('exit', function(event){ navigator.app.exitApp(); });而且我在 onDeviceready 中使用了 onpause 方法来显示 navgator.splashscreen.show() 没有运气
      【解决方案3】:

      使用最新版本(4.1.0)的插件cordova-plugin-splashscreen,您不需要修改插件的源代码,而是在config.xml文件中添加,如下偏好:

      <preference name="SplashShowOnlyFirstTime" value="false"/>
      

      【讨论】: