Я наблюдаю странную проблему с новым приложением, которое запускаю. Я использую новый API-интерфейс заставки Android 12 для создания заставки и следую инструкциям Google, чтобы сделать это. Я включил core-splashscreen в свой проект, чтобы обеспечить совместимость со старыми версиями ОС Android. Когда я запускаю приложение, я вижу заставку, как и ожидалось, в более старых версиях ОС, таких как API 30, но когда я запускаю его в API 31, предоставленный мной значок заставки не отображается. Цвет фона, который я указываю, отображается, но значка нет вообще. Я пробовал это с помощью рисуемого актива, а также MIP-карты, и ничего не работает. Я озадачен тем, что в каждом учебнике, который я нахожу, показаны одни и те же шаги, которые я выполнил, и скриншоты рабочих заставок, но мне не повезло.
Для контекста вот мой стиль заставки. определение для v31:
Код: Выделить всё
@color/orange_7A
@drawable/splash_foreground
@style/Theme.App
У меня одинаковый стиль для всех остальных версий ОС, за исключением того, что я использую «windowSplashScreenAnimatedIcon» вместо «android:windowSplashScreenAnimatedIcon». Я пробовал v31 с «android:» перед именами элементов и без них, но ничего не помогло. Вот мой MainActivity.kt:
Код: Выделить всё
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
installSplashScreen()
setContent {
MyVeevaTheme {
Login()
}
}
}
Я также устанавливаю свойство android:theme для своего стиля заставки в моем AndroidManifest.xml. Я знаю, что применяется стиль заставки, поскольку он учитывает цвет фона, но по какой-то причине значок не отображается, хотя значок отображается нормально для более старых версий ОС. Заранее благодарим за любую помощь, которую вы можете оказать.
Подробнее здесь:
https://stackoverflow.com/questions/698 ... displaying