不是Pending intent always make new activity的副本,因为没有解决方案。
这是我的PendingIntent:
Intent intent = new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
return PendingIntent.getActivity(context, REQUEST_CODE_PUSH_MESSAGE_TYPE, intent, PendingIntent.FLAG_CANCEL_CURRENT);
如果我关闭应用程序(例如后退按钮)并在通知中使用此PendingIntent,它将创建一个新活动。
但是,如果我暂停应用程序(例如主页按钮)并单击相同的通知,则将恢复活动(和包含的片段)。
每次使用此PendingIntent时,如何创建新活动(及其片段)?
答案 0 :(得分:1)
使用Intent.FLAG_ACTIVITY_NEW_TASK
来自文档
如果设置,此活动将成为此任务的新任务的开始 历史堆栈。
您可以使用正在使用的其他标记添加or
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
答案 1 :(得分:0)
从Intent.FLAG_ACTIVITY_SINGLE_TOP
移除Intent
。 Intent.FLAG_ACTIVITY_SINGLE_TOP
的使用告诉Android重用现有的Activity实例。