Tom*_*mCB 10 android android-activity
我的应用程序引发了一个启动活动,如果我的数据库中没有某些凭据,则必须进入登录页面.
Intent intent = new Intent(Splash.this, Login.class);
startActivity(intent);
Log.d("debug", "code is still executing!!!");
Run Code Online (Sandbox Code Playgroud)
问题:在我的startActivity()之后,它仍然运行下面的所有代码.("代码仍在执行中"打印在控制台中).
目标:不要执行任何来自splash活动的代码,转到登录活动.
Mar*_*ski 11
这是正常的行为.startActivity()不会终止当前的一个,也不会立即中止/退出调用它的代码.它为处理程序的队列添加了一个新的意图以供进一步处理,但是除非将控制权返回给系统事件循环,否则框架将不会处理此意图,这通常意味着除非您的方法结束执行.
如果你想终止当前的活动(通常这样做的唯一原因是不允许BACK按钮返回它 - 如果你不需要它,那么不要这样做)调用finish()你的方法告诉你完成的框架这个.请注意,这finish()不会立即终止当前活动,因此如果您finish()在执行后获得了代码.如果那不是您的意图,请使用ie return;将控制权返回给框架.
来自文档的片段:
void finish()
在您的活动完成后调用此选项并应关闭.ActivityResult会传播回通过onActivityResult()启动您的人.
| 归档时间: |
|
| 查看次数: |
3799 次 |
| 最近记录: |