Phonegap 3.1 – Невозможно скрыть заставку на устройстве

Использование phonegap 3.1 Я пытаюсь скрыть заставку, когда устройство будет готово:

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { navigator.splashscreen.hide(); } 

Но он возвращает:

Невозможно вызвать метод «скрыть» неопределенного

Объект навигатора не включает атрибут splashscreen.

Я пробовал его по телефонной таблице 2.9, и все работает отлично.

Solutions Collecting From Web of "Phonegap 3.1 – Невозможно скрыть заставку на устройстве"

После исследований и экспериментов это то, что мы должны были сделать, чтобы заставить его работать:

cordova plugin add org.apache.cordova.splashscreen

cordova build

Затем, построение кордовы добавляло неправильные строки в файл config.xml. Поэтому нам пришлось изменить его на следующее:

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

И в вашей основной деятельности

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

Наконец, мы смогли использовать метод hide из javascript.

Вы используете CLI для добавления плагина SplashScreen ? Вы должны добавить плагин с плагином $ cordova plugin add org.apache.cordova.splashscreen (скопируйте код плагина из plugins.cordova.io в /yourApp/plugins/org.apache.cordova.splashscreen/, а затем позже cordova build для копирования Код плагина в соответствующее место платформы.

Если вы используете сборку телефонных звонков, а не

 cordova plugin add ... 

Из командной строки вам нужно добавить плагин и функцию в 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> 

Единственное, что я могу догадаться, – дважды проверить, что у вас есть <script type="text/javascript" charset="utf-8" src="cordova.js"></script> в <script type="text/javascript" charset="utf-8" src="cordova.js"></script> вашего HTML, который вызывает это JS. Извините, еще не сослался на 3.1.

Добавь это:

 <preference name="SplashScreen" value="splash.png" /> <preference name="SplashScreenDelay" value="3000" /> 

Навигатор.splashscreen.hide () тоже не работает для меня.

UPDATE: navigator.splashscreen.hide () работает только при построении онлайн (сборка телефонных звонков).

После обновления до Phonegap Desktop 0.3.6 у меня была аналогичная проблема, и одно из моих старых приложений застряло на заставке. В окне конфигурации было показано правильное имя и версия приложения, и он обновлялся, как только я изменял файл config.xml. В консоли у меня была только одна ошибка: 500 для http://localhost:3000/cordova_plugins.js

Новое приложение работает нормально.

Я пробовал все вышеперечисленное:

  • Плагин и конфигурация заставки
  • Добавив cordova.js и cordova_plugins.js в index.html . Это больше не нужно, поскольку многие версии назад – сборка делает это за вас.
  • В папке platforms/android/assets/www появились файлы cordova.js и cordova_plugins.js
  • В файле config.xml указано <content src="index.html" />

В конце концов, решить мою проблему было полностью удалить папку с platforms и запустить cordova platform add android снова. Я думаю, это безопасно сделать после каждого обновления Phonegap.