当 PendingIntent 已经在历史堆栈顶部时,它不会重新创建 activity(带有 Extras)

PendingIntent not recreating activity (with Extras) when it is already on history stack top

我正在尝试从通知按钮(使用 PendingIntent)启动 Activity A。当我点击这个通知按钮并且 A 位于历史堆栈顶部时,它的行为不正确:

应该做什么:

发生了什么:

  1. onCreate 被调用,但是 getIntent().getExtras()null.
  2. Activity A 被替换而不是重新创建(我想要一个副本)。

我尝试了很多东西:Intent.FLAG*PendingIntent.FLAG* 也尝试过,但都没有成功。

编辑 1: 我尝试了这些常量:

代码(部分):

Intent intentCancel = new Intent(getApplicationContext(), ChallengeProposalActivity.class);
//intent.setAction(String.valueOf(System.currentTimeMillis()));
//intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra(ChallengeProposal.NAME, proposal);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intentCancel, 0);

代码(完整):http://pastebin.com/vNuEkBvi


我该怎么办?

相关问题:

PendingIntent not working when adding extras in intent

Duplicate MainActivity When Enter From Notification

您已经创建了 intentCancel 对象,但试图在 intent 对象中添加额外内容:

Intent intentCancel = new Intent...
intent.putExtra...