Cordova启动画面 - 隐藏启动后运行代码

时间:2015-02-27 16:40:02

标签: cordova delay splash-screen

我正在使用Cordova构建应用程序,并使用以下方法设法在Android上设置启动画面:

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

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

我已将应用程序设置为侦听“deviceready”事件,以便执行其余代码。再次,这很好。

问题是“deviceready”似乎没有等待启动画面完成 - 我知道这可能是正常的行为。有时飞溅仍然可见,而我的应用程序的其余部分一直持续到5秒钟结束。

所以我想知道的是;有没有办法在启动画面完成显示至少定义的持续时间后执行代码?

也许还有另一个Cordova活动被提出?

**旁注 - 我确实希望尽可能将其作为跨平台,所以如果可能的话,我宁愿不为此制作Android特定的修补程序。 **

2 个答案:

答案 0 :(得分:2)

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

在XML配置上使用高值:

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

在你的JS中:

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

答案 1 :(得分:0)

我的偏好是不依赖于启动画面。如果我希望我的图像显示为启动画面,并在其后面运行代码或依赖它,我将我的启动画面图像作为我的index.html页面和代码在该页面上,然后跳转/重定向/加载“首先“我的代码想要的页面。然后我只使用纯色图像作为启动画面,时间最短,因为Apple仍然希望它在那里。