Подтвердить что ты не робот

Сбой Android с полупрозрачным заставкой

Я попытался удалить всплеск системы перед фактическим всплывающим экраном при запуске приложения. Я следую этой теме: Как исправить белый экран в приложении Запустить? и создать полупрозрачный стиль для активности всплеска:

<style name="Splash" parent="@android:style/Theme.Translucent">
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowDisablePreview">true</item>
    </style>

Но при первом запуске после установки приложение разбилось со следующим необработанным исключением:

E/AndroidRuntime: FATAL EXCEPTION: main
                                                                Process: ru.perekrestok.app, PID: 13791
                                                                java.lang.IllegalArgumentException: reportSizeConfigurations: ActivityRecord not found for: Token{5b77a38 null}
                                                                    at android.os.Parcel.readException(Parcel.java:1687)
                                                                    at android.os.Parcel.readException(Parcel.java:1636)
                                                                    at android.app.ActivityManagerProxy.reportSizeConfigurations(ActivityManagerNative.java:6844)
                                                                    at android.app.ActivityThread.reportSizeConfigurations(ActivityThread.java:2768)
                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2711)
                                                                    at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                                    at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                    at android.os.Looper.loop(Looper.java:154)
                                                                    at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

После запуска первого запуска приложение запускается нормально. Могу ли я исправить это поведение? Я использую последнюю библиотеку поддержки Android, если это важно

4b9b3361

Ответ 1

Измените запись активности в манифесте с помощью этого. Это приведет к удалению белого всплеска (поскольку тема будет полупрозрачной), и ваш фактический всплеск будет виден.

<activity
    android:name=".SplashActivity"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Translucent.NoTitleBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>