Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

phonegap 3.1 - Unable to hide splash screen on device ready

Using phonegap 3.1 I'm trying to hide the splash screen when device is ready:

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
 navigator.splashscreen.hide();
}

But it returns:

Cannot call method 'hide' of undefined

The navigator object doesn't including the splashscreen attribute.

I've tried it on phonegap 2.9 and it works fine.

like image 963
griffon vulture Avatar asked Oct 22 '13 10:10

griffon vulture


Video Answer


3 Answers

After research and experiments this is what we had to do in order to get it work:

cordova plugin add org.apache.cordova.splashscreen

cordova build

Then, cordova build was adding the wrong lines to the config.xml - So we had to change it to the following:

 <feature name="SplashScreen">
        <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
 </feature>

And in your main activity

 super.setIntegerProperty("splashscreen", R.drawable.splash);
 super.setIntegerProperty("splashScreenDelay", 10000); //time to display the splash

Finally we have been able to use hide method from javascript.

like image 130
griffon vulture Avatar answered Oct 08 '22 02:10

griffon vulture


Are you using the CLI to add the SplashScreen plugin? You have to add the plugin with $ cordova plugin add org.apache.cordova.splashscreen (copy the plugin code from plugins.cordova.io into /yourApp/plugins/org.apache.cordova.splashscreen/ and then later cordova build to copy the plugin code into the appropriate platform location.

like image 44
MBillau Avatar answered Oct 08 '22 01:10

MBillau


If you're using phonegap build, rather than doing

cordova plugin add ...

from the command line, you'll need to add the plugin and feature to the config.xml:

<gap:plugin name="org.apache.cordova.splashscreen" />
<feature name="SplashScreen">
    <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
    <param name="ios-package" value="CDVSplashScreen" />
</feature>
like image 1
MrPotes Avatar answered Oct 08 '22 00:10

MrPotes