我有两个活动,但是我想在应用程序启动时应用一个条件,如果一个是真的,那么启动第一个活动,否则启动第二个活动。现在我正在通过启动第三个活动来显示一些欢迎的东西并检查背景中的值。然后调用适当的活动。我认为必须有一些标准的方法来做到这一点。和平。
答案 0 :(得分:2)
由于您需要在清单中指定开始活动,因此您始终可以开始第一项活动,检查onCreate()
上的条件以及是否需要启动第二项活动 - 启动第二项活动并致电finish()
第一项活动。
否则通常人们会使用启动活动来检查启动时的所有条件(这是您当前的解决方案)。
答案 1 :(得分:2)
不需要第三个Activity
来检查条件。
如果您只是让您的MAIN / LAUNCHER Activity
检查条件是onCreate(...)
中的第一件事(但在致电super.onCreate(...)
后),则可以继续或致电其他startActivity(...)
Activity
,并立即致电finish()
自行终止。
这样,如果条件规定应该开始第二个Activity
,则永远不会看到第一个Activity
。
实施例..
public class FirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Don't even set the content view at this point
// we want to be invisible for the moment
// Pseudo-code check for condition
if (!runMe) {
Intent i = new Intent(this, SecondActivity.class);
startActivity(i);
finish();
}
else {
// Continue as normal
setContentView(R.layout.main);
...
}
}
}