在 PhoneGap/Cordova 1.5.0 中显示启动画面
Posted
技术标签:
【中文标题】在 PhoneGap/Cordova 1.5.0 中显示启动画面【英文标题】:Showing splash screen in PhoneGap/Cordova 1.5.0 【发布时间】:2012-04-01 21:01:18 【问题描述】:我正在尝试为我的 PhoneGap/Cordova 本机 ios 应用程序显示初始屏幕。此行为的默认值或布尔值设置为“YES”。我试图让屏幕显示 2 秒钟。目前,它只显示片刻,然后直接进入应用程序。由于我的应用在启动时不会为网络下载任何数据,因此加载速度非常快。
根据此建议,此解决方案适用于某些人。我正在使用最新的 Cordova 1.5.0 版本:http://shazronatadobe.wordpress.com/2011/09/15/ios-phonegap-splash-screen-control/
我已在 Cordova.plist 中将 AutoHideSplashScreen 设置为“否”,并且正在使用以下代码:
function onLoad()
document.addEventListener("deviceready", onDeviceReady, false);
setTimeout(function()
navigator.splashscreen.hide();
, 2000);
我尝试将 setTimeout 函数放入函数中,但无济于事。像这样:
function onLoad()
document.addEventListener("deviceready", onDeviceReady, false);
function hideSplash()
setTimeout(function()
navigator.splashscreen.hide();
, 2000);
然后在 Body 加载时加载 'hideSplash()'。但无济于事。
我的代码有什么问题吗?
【问题讨论】:
我不想问同样的问题两次,但这个解决方案似乎对我不起作用:***.com/questions/9933988/… “设备就绪”正在触发,因为我也在使用它来检查互联网连接。 【参考方案1】:好的,我接受了 RespectTheCode 的建议,并从 onLoad 函数中删除了设备就绪事件。这是工作代码。我正在为正在学习的其他人提供完整的代码:
<script>
document.addEventListener("deviceready", onDeviceReady, false);
setTimeout(function()
navigator.splashscreen.hide();
, 1000);
</script>
对于不知道的人来说,1000 是一秒。将无法工作少于一秒,即 500。启动画面只是挂起。
当我安装并且应用程序正常工作时,这对我有用,但是,当我重新启动设备 (iPad2) 时,启动屏幕像上一个问题(上一段)一样挂起,并且不会进入应用程序。奇怪的错误。
还有其他人经历过这种情况吗?
我正在使用 Xcode 4.3.1 和 Cordova 1.5.0 构建 iOS 5.1
【讨论】:
【参考方案2】:我使用的是 Cordova 2.1.0,现在使用的是 2.2.0。 调用 navigator.splashscreen.hide() 时,启动画面没有消失。 使用以下代码,它起作用了:
private static native void hideSplashScreen() /*-
$wnd.Cordova.exec(null, null, "SplashScreen", "hide", []);
-*/;
希望对你有帮助
【讨论】:
以上是关于在 PhoneGap/Cordova 1.5.0 中显示启动画面的主要内容,如果未能解决你的问题,请参考以下文章
PhoneGap / Cordova 回调错误 - 在 PhoneGap 中未执行 RestKit 完成功能