【问题标题】:Pending intent force-create new activity待定意图强制创建新活动
【发布时间】:2015-04-20 12:31:18
【问题描述】:

不重复: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 时创建一个新活动(及其片段)?

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    使用Intent.FLAG_ACTIVITY_NEW_TASK

    来自文档

    如果设置,此活动将成为此活动的新任务的开始 历史堆栈。

    您可以添加or,以及您正在使用的其他标志

    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);  
    

    【讨论】:

    • 它仍然在当前实例之上创建一个新的活动实例
    【解决方案2】:

    Intent 中删除Intent.FLAG_ACTIVITY_SINGLE_TOP。使用Intent.FLAG_ACTIVITY_SINGLE_TOP 告诉Android 重用现有的Activity 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多