android决定启动哪个活动

android决定启动哪个活动,android,android-activity,Android,Android Activity,我有多个活动,但根据用户启动应用程序的白天(或晚上)时间,只能启动其中一个活动。有没有办法检查时间,并在应用程序启动后立即启动相应的活动?您可能需要使用android:theme=“@android:style/theme.NoDisplay”启动默认活动,以启动正确的活动。然后调用finish()。您可能需要使用android:theme=“@android:style/theme.NoDisplay”启动一个默认活动,它将启动正确的活动。然后调用finish()。让我们决定在OnCreate

我有多个活动,但根据用户启动应用程序的白天(或晚上)时间,只能启动其中一个活动。有没有办法检查时间,并在应用程序启动后立即启动相应的活动?

您可能需要使用
android:theme=“@android:style/theme.NoDisplay”
启动默认活动,以启动正确的活动。然后调用
finish()

您可能需要使用
android:theme=“@android:style/theme.NoDisplay”
启动一个默认活动,它将启动正确的活动。然后调用
finish()。让我们决定在OnCreate(startActivity)中运行哪个活动。

使用无历史记录的功能创建新活动,类别启动器活动。让我们决定在OnCreate(startActivity)中运行哪个活动。

让starter活动执行以下操作:

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--
}
public静态枚举时间{MORNING,OTHER}/--定义更多时间
@凌驾
创建时的公共void(Bundle savedInstanceState){
开关(decideTime()){
案件上午:
startActivity(新意图(com.some.Activity1.class));
打破
案例其他:
startActivity(新意图(com.some.Activity2.class));
打破
//--添加更多案例--
}
完成();
}
私人时间决定时间(){
Calendar c=Calendar.getInstance();
int hour=c.get(日历小时);
如果(小时>=6和小时<12){
返回时间:上午;
}否则{
返回时间。其他;
}
//--添加更多支票--
}

让初学者活动执行以下操作:

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--
}
public静态枚举时间{MORNING,OTHER}/--定义更多时间
@凌驾
创建时的公共void(Bundle savedInstanceState){
开关(decideTime()){
案件上午:
startActivity(新意图(com.some.Activity1.class));
打破
案例其他:
startActivity(新意图(com.some.Activity2.class));
打破
//--添加更多案例--
}
完成();
}
私人时间决定时间(){
Calendar c=Calendar.getInstance();
int hour=c.get(日历小时);
如果(小时>=6和小时<12){
返回时间:上午;
}否则{
返回时间。其他;
}
//--添加更多支票--
}