Cordova(Ionic):Splashscreen仅在Android上运行一次

时间:2016-04-16 20:54:15

标签: javascript android cordova ionic-framework splash-screen

我使用Cordova插件创建了一个Splashscreen,将插件添加到我的Ionic应用程序中:

cordova plugin add org.apache.cordova.splashscreen

当我在Android手机上安装应用并首次运行时,我看到启动画面正常工作。但是如果我通过按下后退按钮然后重新打开应用程序来退出应用程序,这次我没有看到启动画面,它直接进入主屏幕。我认为这是因为当我按下后退按钮时,应用程序没有完全关闭(退出)。因此,如果我进入仍在运行的应用程序列表并手动关闭我的应用程序(从正在运行的应用程序列表中),那么下次打开我的应用程序时,我会再次看到启动画面。

我在使用以下方式按下后退按钮时尝试退出应用程序:

function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, true);
}

function onDeviceReady() {
    document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown()
{
 navigator.app.exitApp();
}

在我的JavaScript代码中,但它没有帮助。 对此有什么好的解决方案?

2 个答案:

答案 0 :(得分:1)

Splashscreen用于在加载应用时显示默认图片,我们不希望用户在应用启动时被黑屏沮丧。因此,android会在coldstart上显示启动画面(该应用程序在被杀死时启动)。您通常不需要在hotstart上显示启动画面,但如果您这样做,则可以使用以下由splashscreen cordova插件公开的JavaScript方法:

navigator.splashscreen.show();
navigator.splashscreen.hide();

请确保在platformready时拨打这些电话。或者,您可以使用ngCordova为您提供可注射服务API:http://ngcordova.com/docs/plugins/splashscreen/

处理简历事件:

document.addEventListener('deviceready', function () {
  document.addEventListener('resume', yourAsyncResumeCallback, false);
});

答案 1 :(得分:0)

您应用的行为很奇怪。我的应用程序即使在后退按钮和重新打开后再次显示闪屏。这是我的 config.xml 如果您不希望弃用版本删除'间隙,则它适用于启动画面:'来自以下代码并重命名version="1.0.0"

中的版本
<?xml version="1.0" encoding="UTF-8" ?>
    <widget xmlns="http://www.w3.org/ns/widgets"
        xmlns:gap="http://phonegap.com/ns/1.0"
        id="testaplikacji"
        versionCode="1"
        version="1.0.0">

        <name>Your app name</name>
        <description>Desc</description>
        <author>Author</author>
        <gap:platform name="android">
        </gap:platform>
        <preference name="SplashScreen" value="splash" />
        <preference name="SplashScreenDelay" value="5000" />
        <gap:plugin name="org.apache.cordova.splashscreen" spec="1.0.0" source="pgb" />         
        <gap:splash src="splash.png" gap:platform="android" gap:qualifier="ldpi" width="500" height="500" /> 
        <gap:splash src="splash.png" />

    </widget>
当地的资产

splash.png http://imgur.com/jmfxR4t index.html (jqmobile1.4.2.css和.js和jquery1.11.3)属于我的&#39; \&#39;或者使用http:... links

<html>
    <head>
        <meta charset="UTF-8">
        <link href=".\jquery.mobile-1.4.2.css" rel="stylesheet" type="text/css" />
        <script src=".\jquery-1.11.3.js"></script>
        <script src=".\jquery.mobile-1.4.2.js"></script>

        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>

        <script type="text/javascript" charset="utf-8">

        function init() {
            document.addEventListener("deviceready", onDeviceReady, false);
        }

        function onDeviceReady() {
          //do stuff
        }

        </script>
    </head>

    <body onload="init()">

    </body>
</html>