Cordova 闪屏 - 运行 隐藏闪屏后的代码

Cordova splash screen - run code after splash is hidden

我正在使用 Cordova 构建一个应用程序,并且已经成功地在 Android 上设置启动画面,使用:

<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="5000" />

在我的 config.xml 中,这非常有效。初始屏幕显示指定的 5 秒持续时间,然后隐藏。

我已将应用程序设置为侦听 "deviceready" 事件,以便执行我的其余代码。同样,这工作正常。

问题是 "deviceready" 似乎没有等待初始屏幕完成 - 我知道这可能是正常行为。有时,飞溅仍然可见,而我的应用程序的其余部分仍在继续,直到 5 秒结束。

所以我想知道的是;有没有一种方法可以仅在初始屏幕显示至少定义的持续时间后才执行代码?

也许还有另一个 Cordova 事件被引发?

** 旁注 - 我确实想让它尽可能跨平台,所以如果可能的话,我宁愿不为此做 Android 特定修复。 **

我的偏好是不依赖启动画面是否存在。如果我希望我的图像显示为初始屏幕,并且在其后面有代码 运行 或依赖于它,我将我的初始屏幕图像作为我的 index.html 页面和该页面上的代码,然后 jump/redirect/load "first" 页面,当我的代码想要的时候。然后我只使用纯色图像作为初始屏幕,时间最短,因为 Apple 仍然希望它在那里。

您可以在需要时使用 cordova API 关闭启动画面。

在 XML 配置上使用高值:

<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="60000" />

在你的 JS 中:

document.addEventListener('deviceready', function () {
    navigator.splashscreen.hide();
});