Старый макет отображается поверх нового действия

#android

#Android

Вопрос:

У меня есть APK, который отлично работает на нескольких уровнях Android, начиная с Android 5 до 9. Мы начали тестирование нового телефона Android 9 (Hot Pepper HPP-L55B, он же Serrano), и я вижу интересную проблему, с которой, я надеюсь, кто-то столкнулся.

Все мои действия расширяют базовую активность, которая выполняет стандартное ведение журнала (например, ведение журнала onCreate, onResume и т. Д.).

При запуске приложения: действие 1 — MainLaunch

  • onCreate запускает всплеск активности, а затем вызывает finish

Действие 2 — всплеск

  • onCreate устанавливает представление содержимого и находит WebView на экране.
  • onResume устанавливает gif в webview, чтобы он отображался на заставке. Он также запускает поток, который спит в течение нескольких секунд, а затем запускает действие 3. GIF анимируется, как и ожидалось.

Упражнение 3 — Панель запуска

  • onCreate устанавливает представление содержимого и находит ссылки на другие элементы на экране (кнопки и текстовые представления).
  • onResume проверяет несколько внутренних параметров и может скрывать или не скрывать элементы пользовательского интерфейса в зависимости от конфигурации. Ничего интересного.

Бывают случаи, когда этот процесс проходит без сучка и задоринки, а в других случаях пользовательский интерфейс, который отображался в Activity 2 (splash), остается включенным, в то время как мои журналы показывают, что код думает, что он показывает UI 3. GIF-файл в этом случае больше не анимируется.

Когда вы щелкаете по экрану-заставке, нажимаются кнопки, на которые есть ссылки и которые будут отображаться в упражнении 3. Таким образом, в основном, как экран-заставка закрывает 3-й экран действий и позволяет нажимать кнопки. Если я снова выключу / включу экран, заставка все равно появится. При нажатии на скрытые кнопки срабатывают точки останова в упражнении 3.

Кто-нибудь когда-нибудь видел это раньше или у вас есть предложения, как это исправить? Эта модель телефона, похоже, единственная, у которой есть эта проблема. Так что это определенно похоже на проблему с моделью телефона, а не на то, что я могу контролировать. Есть какие-нибудь предложения?

Ответ №1:

Эта проблема сводилась к тому, что процессор (MediaTek) использовался в сочетании с темой, используемой для приложения. По крайней мере, это было единственное, что отличалось от поддерживаемых телефонов, которые мы тестировали.

Тема мероприятий была изменена:

от @android: стиль / тема.Прозрачный.NoTitleBar для @android: стиль / тема.Свет.NoTitleBar