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

时间:2015-11-30 19:21:43

标签: android asynchronous lifecycle

我有一个在启动时运行的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();
}

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

An activity without a UI must call finish() before onResume() completes

1 个答案:

答案 0 :(得分:5)

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

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