Android崩溃并带有半透明启动画面

14

我试图在应用程序启动前删除系统白色闪屏。我遵循了这个主题:如何解决应用程序启动时的白屏问题? 并为闪屏活动创建了半透明样式:

<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支持库,如果这很重要


请发布您的主活动代码。 - Akshay Shah
我试图注释掉除setContentView之外的所有内容,但结果仍然相同:http://pastebin.com/CNj5ABJP - wingear
@wingear,你解决了这个问题吗? - Pravin Sonawane
@PravinSonawane 不,我必须恢复到非半透明的启动屏幕。 - wingear
1个回答

0

在清单文件中更改您的活动入口。这将删除白色闪屏(因为主题是半透明的),使您的实际闪屏可见。

<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>

无法启动活动ComponentInfo {myapp.app.screens.SplashActivity}:java.lang.IllegalStateException:您需要在此活动中使用Theme.AppCompat主题(或其后代)。也许有AppCompat类似主题。 - wingear
请问您能分享一下您的启动画面活动吗? - Ashish John
@wingear 我认为你正在使用ActionBarActivity或类似的方式来扩展你的活动,只有在你扩展AppCompatActivity时才能使用这个主题。 - Ashish John
我正在使用appcompat活动,所以这可能是原因。我今天会发布活动代码。 - wingear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接