0

複数のアクティビティがありますが、ユーザーがアプリを起動する時間帯(または夜)に応じて、そのうちの1つだけを起動する必要があります。アプリの起動直後に時間を確認して適切なアクティビティを起動する方法はありますか?

4

3 に答える 3

3

おそらくandroid:theme="@android:style/Theme.NoDisplay"、正しいアクティビティを起動するデフォルトのアクティビティを起動する必要があります。finish()直後に電話してください。

于 2013-01-14T13:27:42.167 に答える
1

スターターアクティビティに次のようなことをさせます。

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 に答える