Phonegap (Android Build) - Промежуточный экран перед экраном всплеска

Когда я впервые запустил свое приложение, которое было построено с помощью build.phonegap.com, а затем было распространено на моем Nexus 7 (работает Jelly Bean 4.3), я вижу черный экран с серой строкой заголовка вверху. Это нормально, или есть настройка, которую мне нужно включить/отключить? Я могу сказать, что эта сборка была сборкой отладки (я не знаю, почему, но когда я снова проверил, настройка была проверена).

Я буду рад предоставить любую информацию, необходимую для помощи, спасибо! Я также могу связать репозиторий github, в котором содержится мой код, если это полезно.

Вот изображение:

image

EDIT2: Это также происходит после удаления приложения из приложений, работающих в фоновом режиме.

Ответ 1

Это промежуточный экран, который показывает Android, пока ваш процесс раздвоен. Черный экран - это только фон вашего окна, определенный вашей темой. Здесь есть отличная статья здесь Кирилла Моттье, эксперта по Android Developer, по этой теме. Вы можете настроить это, чтобы выглядеть немного красивее, как объяснено в статье (в основном просто измените свой фон на экране, но будьте осторожны с перегрузкой)

Ответ 2

Появляется ли ваше приложение в конце или просто остается пустым? Не могу сказать, что происходит, но что-то пришло в голову. Используете ли вы заставку? Взгляните на документы config.xml в разделе о продолжительности заставки (только для Android). Документы можно найти здесь.

Продолжительность экрана заставки

  • длительность всплеска экрана со значением в миллисекундах
  • по умолчанию - 5000 (5 секунд)
  • пример: <preference name="splash-screen-duration" value="10000" />
  • для автоматического скрытия поведения вызов navigator.splashscreen.hide(); в готовый к использованию метод
  • поддерживается на PhoneGap 2.1.0 и выше

Попробуйте установить длительность в 0 (<preference name="splash-screen-duration" value="0" />) и посмотрите, что произойдет.

* С другой стороны, это, вероятно, не проблема с заставкой, но стоит того. Отправьте некоторый код того, что делает ваше приложение (или поделитесь с github, как было предложено), и я увижу, что я могу сделать.

Ответ 3

Это можно решить, добавив следующие строки в Phonegap config.xml:

<gap:config-file platform="android" parent="/manifest">
    <application android:theme="@android:style/Theme.NoTitleBar"></application>
</gap:config-file>

Ответ 4

В 2017 году ответ на эту проблему намного проще:

В config.xml добавьте эту строку в свое объявление widget (чуть ниже бит, который читает xmlns:gap="http://phonegap.com/ns/1.0"). Это говорит PhoneGap, что вы хотите добавить некоторые вещи в манифест Android:

xmlns:android = "http://schemas.android.com/apk/res/android"

Затем добавьте фрагмент ниже где-нибудь в том же файле. Все, что происходит между тегами конфигурации, будет добавлено к манифесту Android PhoneGap при создании APK. Эта небольшая строка просто сделает ваше приложение прозрачным, чтобы черный экран загрузки никогда не видел.

<config-file platform="android" parent="/manifest" mode="merge">
    <application android:theme="@android:style/Theme.Translucent.NoTitleBar"></application>
</config-file>

Ответ 5

Добавить в файл config.xml:

<preference name="SplashScreenDelay" value="0"/>

Я не могу сказать точно, моя проблема была более или менее разной, но решена для меня.

Ответ 6

Этот экран является окном приложения для Android, которое обертывает ваш html, перед загрузкой веб-представления. Приложение theme определяет его расположение.

Но в настоящее время NO NO WAY вы можете изменить тему Android через config.xml.

Здесь issue, который был открыт 8 месяцев назад, и вот ответ от команды сборщика телефонных разговоров:

Мы добавили ваш запрос в отставание команды. Из-за больших объемов, может возникнуть задержка в обращении к вашему запросу. Будьте уверены, мы не потеряли ваш запрос. Ваши отзывы очень ценны для нас, поэтому, пожалуйста, продолжайте.

Обратите внимание, что в сообществе создания телефонной рассылки этот запрос также был сделан здесь и здесь, но все же ответы от разработчиков расплывчаты.

Ну, боюсь, теперь осталось только ждать, пока эта функция не будет выпущена.

До тех пор, один способ обхода, который, по их словам, будет по меньшей мере сокращать, будет следующим:

<preference name="fullscreen" value="true" />

Надеюсь, я помог!;)

Ответ 7

Я нашел решение, которое сработало для меня и связано с ответом Брэдли, вы можете попробовать.

В папке "platform\android" в вашем проекте откройте AndroidManifest.xml и выполните поиск android:theme внутри тега <activity>, который содержит android:name="MainActivity", и измените значение по умолчанию (то есть android:theme="@android:style/Theme.DeviceDefault.NoActionBar") на android:theme="@android:style/Theme.Translucent". Сохраните файл и снова создайте проект, серый экран должен исчезнуть.