我正在使用Cordova构建应用程序,并使用以下方法设法在Android上设置启动画面:
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="5000" />
在我的config.xml中,这非常有效。启动屏幕将显示指定的5秒持续时间,然后隐藏。
我已将应用程序设置为侦听“deviceready”事件,以便执行其余代码。再次,这很好。
问题是“deviceready”似乎没有等待启动画面完成 - 我知道这可能是正常的行为。有时飞溅仍然可见,而我的应用程序的其余部分一直持续到5秒钟结束。
所以我想知道的是;有没有办法在启动画面完成显示至少定义的持续时间后执行代码?
也许还有另一个Cordova活动被提出?
**旁注 - 我确实希望尽可能将其作为跨平台,所以如果可能的话,我宁愿不为此制作Android特定的修补程序。 **
答案 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仍然希望它在那里。