0

2 つのアクティビティがあります。通常はアクティビティ A を開き、次にアクティビティ B を開きます。

ユーザーが通知をクリックし、アプリケーションがまったく実行されていない場合、最初に B が開きます。ただし、ユーザーが up/actionbackHome ボタンをクリックすると、ユーザーは A に戻る必要があります。up/actionbarHome ボタンを上書きし、アクティビティ A を開始し、B で終了を呼び出すことでこれを行いました。通常どおりアプリを終了します。

問題はその後で、ユーザーがタスク マネージャーからこのタスクを選択すると、アクティビティ B が開きます。この場合、アクティビティ A が確実に開くようにするにはどうすればよいですか?

編集

だから問題は、通知を介してアプリを開いた後にアプリを存在させると、アプリがまだタスクマネージャーにあることだと思います。そのため、タスクマネージャーからアプリに入ると、通知からと同じ方法でアプリが起動します。この動作を停止するにはどうすればよいですか?

4

1 に答える 1

0

以下を試してください

バックスタックをクリアして A に戻る

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        onBackPressed();

    }

    return super.onKeyDown(keyCode, event);
}

public void onBackPressed() {
    Intent myIntent = new Intent(B.this,A.class);
    myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//clear top of stack.
    startActivity(myIntent);
    finish();
    return;
}
于 2013-04-04T13:53:09.470 に答える