我遇到了一个有趣的问题:我有一个带有Theme.NoDisplay
(没有用户界面)的启动器类型的活动,根据某些条件应该启动不同的活动,即使我正在呼叫{ {1}},如果应用程序是通过启动器图标启动的,它就不会启动其中任何一个(它确实启动startActivity()
,但随后死亡,没有错误/异常)。
无论其
如果我通过ADB启动LauncherActivity
或向LauncherActivity
添加延迟,那么它似乎工作得很好。
这是一个代码段。
startActivity()
}
答案 0 :(得分:1)
我实际上自己找到了解决方案。
我正在关注this blog post解释为什么我们应该在finish()
次onResume()
活动之前致电Theme.NoDisplay
。
为了解决我的问题,我做了类似的事情,似乎有效:
@Override
protected void onDestroy() {
super.onDestroy();
if (isFinishing() && intent != null) {
startActivity(intent);
}
}
不幸的是,我没有明确解释原因,但不管怎样我都会留在这里,可能对某人有所帮助。