0

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

4

3 回答 3

3

您可能必须启动一个默认活动,使用android:theme="@android:style/Theme.NoDisplay"该活动将启动正确的活动。然后打电话finish()

于 2013-01-14T13:27:42.167 回答
1

让启动 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--
}
于 2013-01-14T13:38:50.443 回答
0

使用功能 NO_HISTORY、类别启动器活动创建新活动。让我们决定在 OnCreate (startActivity) 中运行哪个活动

于 2013-01-14T13:27:54.100 回答