在开始新活动后调用finish()

sto*_*986 27 android message-queue android-activity

在我的应用程序中加载的第一个Activity是一个初始化活动,一旦完成,它就会加载一个新的Activity.我想确保如果用户按下"后退",他们会直接进入启动器,而不是初始化屏幕.旁注,这是最好的方法,还是用某种Intent Flag做得更好?

在新活动上调用startActivity()之后调用finish()是否正确?

onCreate() {
...
startActivity(new Intent(this, NextActivity.class));
finish();
...
}
Run Code Online (Sandbox Code Playgroud)

我仍然采用整个'Message Queue'方法在Android中做事,我的假设是从我的第一个Activity的onCreate()调用startActivity()然后finish ()将记录消息队列中的每个相应消息,但是在继续开始下一个Activity并完成我的第一个Activity之前完成onCreate()的执行.这是正确的理解吗?

jqp*_*liq 29

您可能只需在manifest.xml中的活动上使用noHistory标志

  • 您的代码(开始和完成)绝对正确,并且是一种经常使用的技术. (12认同)
  • 我个人的经验是,noHistory很少是正确的解决方案.一个(通常)意外行为是,如果您的用户在noHistory活动中收到来电,它将消失. (6认同)
  • @hackbod:你能指点文件吗?以防有人需要它(像我一样)...... (2认同)