通过将插件添加到我的Ionic应用程序中,我已经使用Cordova插件创建了一个Splash屏,如下所示:
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代码中,但是没有帮助。解决这个问题的好办法是什么?
发布于 2016-04-16 13:17:15
当应用程序加载时,Splashscreen是用来显示默认图像的,我们不希望用户在应用程序启动时被黑色屏幕所破坏。因此,android在coldstart
上显示了启动屏幕(该应用程序被杀死时正在启动)。您通常不需要在hotstart
上显示闪屏,但是如果需要,可以使用由splashscreen插件公开的下面的JavaScript方法:
navigator.splashscreen.show();
navigator.splashscreen.hide();
只需确保在platform
为ready
时调用这些文件即可。或者,您可以使用ngCordova
为其提供一个可注入的服务api:http://ngcordova.com/docs/plugins/splashscreen/。
处理简历事件:
document.addEventListener('deviceready', function () {
document.addEventListener('resume', yourAsyncResumeCallback, false);
});
发布于 2016-04-16 15:41:31
你的应用程序的行为很奇怪。我的应用程序,即使是在“后退”和“重新打开”之后,也会再次显示“闪屏”。这里是我的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,当然是本地资产(jqMobe1.4.2.css和.js和jquery1.11.3),本地的“.\”或与http:.链接
<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>
https://stackoverflow.com/questions/36669627
复制相似问题