PhoneGap Build Android Not Displaying Splashscreen

元气小坏坏 提交于 2019-12-01 12:37:34

问题


Here is my code in my config.xml that's relative to splash screens:

    <splash src="splash.png" />
    <icon src="icon.png"/>
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="10000" />
    <platform name="android">
        <preference name="SplashScreen" value="res/screens/android/drawable-land-ldpi-screen.png" />  
        <splash src="res/screens/android/drawable-land-ldpi-screen.png"/>  
        <icon density="ldpi" src="res/icons/android/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="res/icons/android/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="res/icons/android/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="res/icons/android/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="res/icons/android/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="res/icons/android/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="res/screens/android/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="res/screens/android/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="res/screens/android/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="res/screens/android/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="res/screens/android/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="res/screens/android/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="res/screens/android/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="res/screens/android/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="res/screens/android/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="res/screens/android/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="res/screens/android/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="res/screens/android/drawable-port-xxxhdpi-screen.png" />
    </platform>
    <platform name="ios">
        <preference name="SplashScreen" value="res/screens/ios/Default-568h@2x~iphone.png" />  
        <splash src="res/screens/ios/Default-568h@2x~iphone.png"/>  
        <icon height="57" platform="ios" src="res/icons/ios/icon.png" width="57" />
        <icon height="114" platform="ios" src="res/icons/ios/icon@2x.png" width="114" />
        <icon height="40" platform="ios" src="res/icons/ios/icon-40.png" width="40" />
        <icon height="80" platform="ios" src="res/icons/ios/icon-40@2x.png" width="80" />
        <icon height="50" platform="ios" src="res/icons/ios/icon-50.png" width="50" />
        <icon height="100" platform="ios" src="res/icons/ios/icon-50@2x.png" width="100" />
        <icon height="60" platform="ios" src="res/icons/ios/icon-60.png" width="60" />
        <icon height="120" platform="ios" src="res/icons/ios/icon-60@2x.png" width="120" />
        <icon height="180" platform="ios" src="res/icons/ios/icon-60@3x.png" width="180" />
        <icon height="72" platform="ios" src="res/icons/ios/icon-72.png" width="72" />
        <icon height="144" platform="ios" src="res/icons/ios/icon-72@2x.png" width="144" />
        <icon height="76" platform="ios" src="res/icons/ios/icon-76.png" width="76" />
        <icon height="152" platform="ios" src="res/icons/ios/icon-76@2x.png" width="152" />
        <icon height="29" platform="ios" src="res/icons/ios/icon-small.png" width="29" />
        <icon height="58" platform="ios" src="res/icons/ios/icon-small@2x.png" width="58" />
        <icon height="87" platform="ios" src="res/icons/ios/icon-small@3x.png" width="87" />
        <splash height="1136" platform="ios" src="res/screens/ios/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" platform="ios" src="res/screens/ios/Default-667h.png" width="750" />
        <splash height="2208" platform="ios" src="res/screens/ios/Default-736h.png" width="1242" />
        <splash height="1242" platform="ios" src="res/screens/ios/Default-Landscape-736h.png" width="2208" />
        <splash height="1536" platform="ios" src="res/screens/ios/Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="768" platform="ios" src="res/screens/ios/Default-Landscape~ipad.png" width="1024" />
        <splash height="2048" platform="ios" src="res/screens/ios/Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="1024" platform="ios" src="res/screens/ios/Default-Portrait~ipad.png" width="768" />
        <splash height="960" platform="ios" src="res/screens/ios/Default@2x~iphone.png" width="640" />
        <splash height="480" platform="ios" src="res/screens/ios/Default~iphone.png" width="320" />
    </platform>

On iOS the splash screen is displayed perfectly but on android nothing is displayed at all. Does anybody have any suggestions on how to fix this error? I've tried adding the cordova splashscreen plugin but that seems to crash the android app on open. Am I missing another essential piece of code?


回答1:


I created one sample for you and I checked in device and splash screen is appeared.

Add the plugin

cordova-plugin-splashscreen

index.html

<!DOCTYPE html>
<html>
  <head>
    <title>Splashscreen Example</title>

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

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        navigator.splashscreen.show();
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
  </body>
</html>

config.xml

    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <platform name="android">            
            <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
            <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
            <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
            <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
            <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
            <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        </platform>
<plugin name="cordova-plugin-splashscreen" spec="~3.2.1" />

I created one folder named "resources" and add the splash screen images and give its path in config.xml file.

And it's working.



来源:https://stackoverflow.com/questions/45823973/phonegap-build-android-not-displaying-splashscreen

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!