在 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 完成功能

PhoneGap/Cordova 设备未准备好

Phonegap/Cordova 代码在构建时不断重置

在 PhoneGap/Cordova 中处理 cookie

基于 Swift 项目的 PhoneGap/Cordova App

Phonegap / Cordova 在 ios8 中不起作用