无法从启动器类型的Activity启动不同的Activity

时间:2017-04-25 20:13:35

标签: android android-activity activity-lifecycle

我遇到了一个有趣的问题:我有一个带有Theme.NoDisplay(没有用户界面)的启动器类型的活动,根据某些条件应该启动不同的活动,即使我正在呼叫{ {1}},如果应用程序是通过启动器图标启动的,它就不会启动其中任何一个(它确实启动startActivity(),但随后死亡,没有错误/异常)。

无论其

如果我通过ADB启动LauncherActivity或向LauncherActivity添加延迟,那么它似乎工作得很好。

这是一个代码段。

startActivity()

}

1 个答案:

答案 0 :(得分:1)

我实际上自己找到了解决方案。

我正在关注this blog post解释为什么我们应该在finish()onResume()活动之前致电Theme.NoDisplay

为了解决我的问题,我做了类似的事情,似乎有效:

@Override
protected void onDestroy() {
    super.onDestroy();
    if (isFinishing() && intent != null) {
        startActivity(intent);
    }
}

不幸的是,我没有明确解释原因,但不管怎样我都会留在这里,可能对某人有所帮助。