【问题标题】:Force relaunch of an activity Android强制重新启动活动 Android
【发布时间】:2013-07-24 05:37:04
【问题描述】:

我的应用中有一个活动,可以通过通知打开。但是活动的内容取决于通知的类型。例如 : 如果我收到“通知”,应用程序会启动活动,并且此活动会显示“已收到”。然后,如果我收到“b 通知”,应用程序会再次启动活动并显示“b received”。 问题是当活动已经启动一次时,当'b通知'再次重新启动它时,活动仍然显示'a received'。如何根据收到的 Intent 强制重新创建活动?

我尝试了 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);但这不起作用。

谢谢!

编辑: 经过一番研究,我发现问题出在 pendingIndent 上。 PendingIntent.getActivity(ctx, 0, intent, 0) 中作为参数传递的意图似乎没有更新。我刚刚加了

intent.setAction(Long.toString(System.currentTimeMillis()));

一切都像魅力一样。

【问题讨论】:

标签: android android-intent android-activity


【解决方案1】:

在开始活动之前,在“A”或“B”通知处理程序中完成任何现有活动。

【讨论】:

    【解决方案2】:

    当您想重新启动应用程序时调用 finish(),然后覆盖 onDestroy() 并执行以下操作。

    @override
    public void onDestroy()
    {
       startActivity(new Intent(this,ThisDyingAcitivity.class));
    }
    

    【讨论】:

      猜你喜欢
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      相关资源
      最近更新 更多