1

我有 2 个活动

  • MainActivity- 有 4 个标签

  • ContactActivity

我在 TaskStackBuilder 中做了两个意图,所以当我点击通知时ContactActivity会先出现,然后出现。MainActivity

TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);

stackBuilder.addNextIntent(getIntentToMainActivity(context)); // Added extras for tab 1.

final Intent intent = ContactActivity.createIntent(context, 0, phone, false);
intent.putExtra(EXTRA_MISSED_CALL_NOTIFICATION_CLICKED, true);
stackBuilder.addNextIntent(intent);

notificationBuilder.setContentIntent(stackBuilder.getPendingIntent(1000, FLAG_UPDATE_CURRENT));

设想:

  1. 单击通知正确打开 ContactActivity。

  2. 按主页按钮。

  3. 在我的启动器上单击主屏幕,在选项卡 2 中打开 MainActivity。

现在发生的事情是 MainActivity 使用选项卡 1 打开,其中选项卡 1 的附加功能是从 stackBuilder(可能来自 stackBuilder)设置的。

清单 MainActivity

<activity
    android:name=".MainActivity"
    android:clearTaskOnLaunch="true"
    android:finishOnTaskLaunch="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/contactlist_app_name"
    android:launchMode="singleTask"
    android:screenOrientation="user">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
4

1 回答 1

1

我添加到 subActivity 标志:

 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

然后它为我工作。

于 2016-06-06T16:24:33.953 回答