Я абсолютно новый для Кордовы и пытаюсь получить заставку, работающую на Android. Я последовал за несколькими учебниками к письму и рассмотрел здесь вопросы о SO, но он пока не работает.
Я использую подход "Cordova CLI" - вот мой /config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.hello" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>HelloWorld</name>
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="2000" />
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="[email protected]" href="#" onclick="location.href='http://cordova.io'; return false;">
Apache Cordova Team
</author>
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<access origin="*" />
<allow-intent href="#" onclick="location.href='http://*/*'; return false;" />
<allow-intent href="#" onclick="location.href='https://*/*'; return false;" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
<splash src="res/screen/android/splash-logo.png" density="land-hdpi"/>
<splash src="res/screen/android/splash-logo.png" density="land-ldpi"/>
<splash src="res/screen/android/splash-logo.png" density="land-mdpi"/>
<splash src="res/screen/android/splash-logo.png" density="land-xhdpi"/>
<splash src="res/screen/android/splash-logo.png" density="port-hdpi"/>
<splash src="res/screen/android/splash-logo.png" density="port-ldpi"/>
<splash src="res/screen/android/splash-logo.png" density="port-mdpi"/>
<splash src="res/screen/android/splash-logo.png" density="port-xhdpi"/>
<icon density="ldpi" src="res/screen/android/icon.png" />
<icon density="mdpi" src="res/screen/android/icon.png" />
<icon density="hdpi" src="res/screen/android/icon.png" />
<icon density="xhdpi" src="res/screen/android/icon.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
</widget>
Я знаю, что у меня должны быть разные размеры изображений для каждой плотности, но это тестовый проект, поэтому, пожалуйста, проигнорируйте это.
Я добавил в свой проект плагин-plug-splashscreen.
cordova plugin add cordova-plugin-splashscreen
Всплывающее окно все еще не отображается - вместо этого появляется черный экран, когда приложение запускается на эмуляторе. Через пару секунд черный экран исчезнет, и появится экран "Кордова" по умолчанию "устройство".
Я сделал все, что было предложено в других местах - можете ли вы, ребята, понять, что неправильно?
FYI Я смотрел каталог /plataforms, и кажется, что все правильно установлено.
Ниже приведен фрагмент из /platforms/android/res/xml/config.xml:
<splash density="land-hdpi" src="res/drawable-land-xhdpi/screen.png" />
<splash density="land-ldpi" src="res/drawable-land-xhdpi/screen.png" />
<splash density="land-mdpi" src="res/drawable-land-xhdpi/screen.png" />
<splash density="land-xhdpi" src="res/drawable-land-xhdpi/screen.png" />
<splash density="port-hdpi" src="res/drawable-land-xhdpi/screen.png" />
<splash density="port-ldpi" src="res/drawable-land-xhdpi/screen.png" />
<splash density="port-mdpi" src="res/drawable-land-xhdpi/screen.png" />
<splash density="port-xhdpi" src="res/drawable-land-xhdpi/screen.png" />
<icon density="ldpi" src="res/screen/android/icon.png" />
<icon density="mdpi" src="res/screen/android/icon.png" />
<icon density="hdpi" src="res/screen/android/icon.png" />
<icon density="xhdpi" src="res/screen/android/icon.png" />
В каждом каталоге, указанном выше, есть файлы screen.png, поэтому, кажется, Кордова делает свою работу правильно.
Основная деятельность:
package com.example.hello;
import android.os.Bundle;
import org.apache.cordova.*;
public class MainActivity extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl);
}
}