android确定要启动哪个Activity

时间:2013-01-14 13:23:33

标签: android android-activity

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

3 个答案:

答案 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)中运行哪个活动