2017-04-19 13 views
0
Excute code 
Intent intent = getFirstIntent(context); 
context.startActivity(intent); 
intent = getSecondIntent(context); 
context.startActivity(intent); 

private void Intent getFirstIntent(Context context){ 
    Intent intent = new Intent(context, FirstActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    return intent; 
} 

private void Intent getSecondIntent(Context context){ 
    Intent intent = new Intent(context, SecondActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    return intent; 
} 

そして、私は追加のログアクティビティのライフサイクル(のonCreate、onDestroy)最初に呼び出されたアクティビティが実行されないのはなぜですか?

ログイン

SecondActivityのonCreate>バックキー> onDestroy> FirstActivityのonCreate>バックキー> onDestory

以下

しかし、私はこのプロセスを期待します

FirstActivity onCreate> SecondActivity> onCreate>バックキー> onDestory> FirstActivity(onResume)>バックキー> onDestory

なぜSecondActivity-onCreateを最初に呼び出すのですか?私は、呼び出したいFirstActivity-のonCreate

答えて

0

あなたは期待しているので -

FirstActivityのonCreate> SecondActivity>のonCreate>バックキー> onDestory> FirstActivity(onResume)>バックキー> onDestory

あなたを使用しないでくださいIntent.FLAGS

予想される動作は、Androidのデフォルト動作はActivityです。

Read here詳細については、インテントフラグを参照してください。

関連する問題