Android onCreate()内部的finish()无效回调
根据onCreate文档: 您可以在此函数中调用Android onCreate()内部的finish()无效回调,android,Android,根据onCreate文档: 您可以在此函数中调用finish(),在这种情况下 将立即调用onDestroy(),而不调用 活动生命周期(onStart()、onResume()、onPause()等)正在执行 但我面临着不同的行为oncreateoptions菜单将在onCreate之后调用,并且仅在该onestory之后调用。有什么建议吗 我正在运行的代码: @Override public void onCreate(Bundle savedInstanceState) {
finish()
,在这种情况下
将立即调用onDestroy(),而不调用
活动生命周期(onStart()、onResume()、onPause()等)正在执行
但我面临着不同的行为oncreateoptions菜单
将在onCreate
之后调用,并且仅在该onestory
之后调用。有什么建议吗
我正在运行的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (...) {
startActivity(...);
finish();
return;
}
}
方法onCreateOptions菜单()
并不正式属于生命周期方法。也许这就是为什么它会被叫来。如果这是您的问题,您只需添加一个检查并立即退出即可
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (isFinishing()) {
return false;
}
...
}
onCreate()
中的代码绝对有效。您如何调用finish()
?您是使用(隐式)此
指针指向活动实例,还是尝试对当前不在当前任务前面的活动调用finish()。您是否提到了首选活动?您是用首选项活动
还是用正常的活动
尝试代码?嗯。。。信息还是不够。由于您的finish()
调用位于onCreate()
方法中,因此您的onCreate()
和oncreateoptions菜单()
可能独立于您的finish()
调用,但只是在finish()
之前执行,这很可能就是我最终所做的,但我想确定这是正常的行为。谢谢。看来,onNewIntent也一样。