我有多个活动,但是根据用户启动应用程序时的一天(或晚上),应该只启动其中一个活动。有没有办法在应用启动后立即检查时间并启动相应的活动?
答案 0 :(得分:3)
您可能必须使用android:theme="@android:style/Theme.NoDisplay"
启动默认活动,该活动将启动正确的活动。并在之后致电finish()
。
答案 1 :(得分:1)
让starter Activity执行以下操作:
public static enum Time {MORNING,OTHER} //--define more times
@Override
public void onCreate(Bundle savedInstanceState){
switch (decideTime()){
case MORNING:
startActivity(new Intent(com.some.Activity1.class));
break;
case OTHER:
startActivity(new Intent(com.some.Activity2.class));
break;
//--add more cases--
}
finish();
}
private Time decideTime(){
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
if(hour >= 6 && hour < 12){
return Time.MORNING;
}else {
return Time.OTHER;
}
//-- add more checks--
}
答案 2 :(得分:0)
使用功能NO_HISTORY,类别启动器活动创建新活动。让我们决定在OnCreate(startActivity)中运行哪个活动