没有UI的活动必须在onResume()完成之前调用finish()

Jus*_*ler 0 lifecycle android asynchronous

我有一个在启动时运行的Activity,它处理全局配置并根据当前应用程序状态确定要启动的正确Activity.由于Activity不需要任何UI,我使用的是Theme.NoDisplay,在onStart中完成我的工作,启动下一个活动并调用finish().

<activity android:name=".StartUpActivity" android:theme="@android:style/Theme.NoDisplay>

protected void onStart() {
    super.onStart();

    doConfiguration();
    startServices();
    startNextActivity();
    finish();
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,直到我需要添加异步服务调用.由于在onResume()之后返回服务调用,我开始收到此错误:

An activity without a UI must call finish() before onResume() completes
Run Code Online (Sandbox Code Playgroud)

Jus*_*ler 5

要修复此错误,我需要将Activity的主题更改为Theme.Translucent.NoTitleBar

<activity android:name=".StartUpActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar">
Run Code Online (Sandbox Code Playgroud)