我正在使用Cordova / Phonegap构建应用程序,并在其中使用chcp插件。当我在安装后第一次打开它时,应用程序在启动画面后卡在黑屏上。
当我关闭应用程序并再次启动时,它工作正常,但启动时延迟了9-10秒,我将启动画面的时间延长到10秒以避免黑屏。
以下是config.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id="com.storehippo.profitdeals" versionCode="103" version="1.0.3">
<name>Test</name>
<description>CHCP splash Test</description>
<author email="akshay.tiwari@mausis.com" href="http://cordova.io">Akshay Tiwari</author>
<content src="index.html"/>
<access origin="*"/>
<gap:config-file platform="ios" parent="CFBundleShortVersionString">
<string>103</string>
</gap:config-file>
<chcp>
<config-file url="http://s3.amazonaws.com/mystore.in/s/55d178025c64d45531612809/ms.mobile_app_themes/560bd8ec31fec3dd1dd66fb7/chcp.json"/>
</chcp>
<gap:platform name="android"/>
<gap:platform name="ios"/>
<preference name="permissions" value="none"/>
<preference name="orientation" value="default"/>
<preference name="android-windowSoftInputMode" value="adjustResize"/>
<preference name="fullscreen" value="false"/>
<preference name="webviewbounce" value="true"/>
<preference name="android-minSdkVersion" value="14"/>
<preference name="KeepRunning" value="false"/>
<preference name="LoadUrlTimeoutValue" value="10000"/>
<preference name="android-installLocation" value="auto"/>
<preference name="AutoHideSplashScreen" value="false"/>
<preference name="SplashScreenDelay" value="10000"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="StatusBarOverlaysWebView" value="false"/>
<preference name="StatusBarBackgroundColor" value="#000000"/>
<preference name="StatusBarStyle" value="lightcontent"/>
<preference name="phonegap-version" value="3.7.0" />
<icon src="nocon.png"/>
<icon src="icons/ios/reader-57-1.png" gap:platform="ios" width="57" height="57"/>
<icon src="icons/ios/reader-72-1.png" gap:platform="ios" width="72" height="72"/>
<icon src="icons/ios/reader-76-1.png" gap:platform="ios" width="76" height="76"/>
<icon src="icons/ios/reader-114-1.png" gap:platform="ios" width="114" height="114"/>
<icon src="icons/ios/reader-120-1.png" gap:platform="ios" width="120" height="120"/>
<icon src="icons/ios/reader-144-1.png" gap:platform="ios" width="144" height="144"/>
<icon src="icons/ios/reader-152-1.png" gap:platform="ios" width="152" height="152"/>
<icon src="icons/android/ldpi.png" gap:platform="android" gap:density="ldpi"/>
<icon src="icons/android/mdpi.png" gap:platform="android" gap:density="mdpi"/>
<icon src="icons/android/hdpi.png" gap:platform="android" gap:density="hdpi"/>
<icon src="icons/android/xhdpi.png" gap:platform="android" gap:density="xhdpi"/>
<gap:splash src="splash.png"/>
<gap:splash src="splash/ios/Default.png" gap:platform="ios" width="1024" height="768"/>
<gap:splash src="splash/ios/Default-Portrait.png" gap:platform="ios" width="768" height="1024"/>
<gap:splash src="splash/ios/Default@2x.png" gap:platform="ios" width="2048" height="1536"/>
<gap:splash src="splash/ios/Default-Portrait@2x.png" gap:platform="ios" width="640" height="960"/>
<gap:splash src="splash/ios/Default-568h@2x.png" gap:platform="ios" width="640" height="1136"/>
<gap:splash src="splash/android/ldpi.png" gap:platform="android" gap:density="ldpi"/>
<gap:splash src="splash/android/mdpi.png" gap:platform="android" gap:density="mdpi"/>
<gap:plugin name="cordova-hot-code-push-plugin" source="npm" version="1.0.4"/>
<gap:plugin name="cordova-plugin-device" source="npm" version="1.1.0" />
<gap:plugin name="cordova-plugin-dialogs" source="npm" version="1.2.0" />
<gap:plugin name="cordova-plugin-inappbrowser" source="npm" version="1.1.0" />
<gap:plugin name="cordova-plugin-network-information" source="npm" version="1.1.0" />
<gap:plugin name="cordova-plugin-push-notification" source="npm" version="2.5.2" />
<gap:plugin name="cordova-plugin-splashscreen" source="npm" version="3.0.0" />
<gap:plugin name="cordova-plugin-statusbar" source="npm" version="2.0.0" />
<gap:plugin name="cordova-plugin-whitelist" source="npm" version="1.0.0" />
<gap:plugin name="cordova-plugin-x-toast" source="npm" version="2.2.2" />
<gap:plugin name="cordova.plugins.diagnostic" source="npm" version="2.2.4" />
</widget>
答案 0 :(得分:2)
当你说卡在黑色屏幕上时你的意思是它真的卡住了你必须强行关闭应用程序或它只是显示一个黑屏然后应用程序加载后?
我在安装后第一次加载时出现问题,在第一次安装应用程序后,通常(可能总是)显示黑屏,然后启动屏幕一秒或2,然后按预期加载但不会得到坚持使用适当的参数(只显示黑屏,如上所述几秒钟)。随后重新打开应用程序不会出现这样的问题(只是在初始安装时发生)...我仍然在寻找修复该问题,尽管它不是主要问题。
我发现您使用的是版本<gap:plugin name="cordova-plugin-splashscreen" source="npm" version="3.0.0" />
对于不同的问题,我遇到了较新版本插件的问题,而且这里有人建议使用旧版本并将其清除。也许你可以试试
<gap:plugin name="org.apache.cordova.splashscreen" version="2.0.0" source="npm" />
...您还在使用<preference name="AutoHideSplashScreen" value="false"/>
这意味着您需要手动隐藏启动画面。用于在cdn之前的index.html上使用jquery移动设备
<script>document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
}<script>
https://github.com/apache/cordova-plugin-splashscreen
我不确定您使用的是什么平台,但这也是值得考虑的问题。您也可以尝试使用<preference name="AutoHideSplashScreen" value="true"/>
答案 1 :(得分:2)
我有同样的问题,你还没弄明白它是什么,但是在splashscreen.hide后屏幕是黑色的,是一个人行横道兼容性错误和电源线的闪屏。必须使用它才能使其工作,但这不是最佳方式。
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
function onDeviceReady() {
navigator.splashscreen.show();
if (navigator.splashscreen) {
setTimeout(function() {
document.getElementById("fixblack").innerHTML += ' ';
navigator.splashscreen.hide();
}, 1000);
}
}
<div id="fixblack"></div>