0

アクティビティ スタック A->B->C->D があります... B を起動した直後に A を終了しています。SO スタックは実際には b->C->..

これで、A を起動するブロードキャスト レシーバーができました。レシーバーから、新しいタスクとして起動する必要があります。したがって、スタック A->B で別のタスクが作成されます。

だから今私のスタックは (B->C (新しいタスクから) B->C->D (前のスタックから)

しかし、私が必要とするのは、新しいタスク スタックだけを持つことです。つまり、新しいスタックは単に B->C になります

これらのフラグも使用してみましたが、役に立ちませんでした

Intent loginIntent = new Intent(context, MyActivity.class);
        loginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        loginIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        context.startActivity(loginIntent);
4

1 に答える 1

0

Androidmanifest.xml に従って launchMode を設定してみてはいかがでしょうか。

したがって、AndroidManifest.xml では、次のようになります。

    <activity
        android:name=".ScrollDemoActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask">
        ...
    </activity>

参照: http://developer.android.com/guide/components/tasks-and-back-stack.html

于 2012-06-24T14:54:27.863 に答える