代码之家  ›  专栏  ›  技术社区  ›  Hrishikesh Kokate

完成一个活动,然后从通知中启动另一个活动

  •  0
  • Hrishikesh Kokate  · 技术社区  · 6 年前

    我在我的Android应用程序中实现了OneSignal推送通知。我将发送带有URL的推送通知作为附加到它们的有效负载。该URL发送一个意图,可由我的应用程序或浏览器的其他活动打开。因此,当我的应用程序的某些活动处于前台,并且我选择在我的应用程序中打开通知时,我的应用程序有两个实例。因此,即使用户点击“退出”按钮,在现在最热门的活动中,已经打开的活动仍然存在。基本上,用户必须退出我的应用程序两次(如果这种情况持续下去,可能会更多次)。

    那么,当用户点击通知(并选择在我的应用程序中而不是浏览器中打开它)然后继续进行时,我是否有任何方法可以完成前台活动?

    此外,我还尝试了所有的启动模式: normal , singleTop , singleTask singleInstance 所有这些都产生了他们设计的结果,但没有一个能适合我的情况。

    我不知道在这里应该包括哪些代码。

    如果不能做到这一点,是否有任何方法可以将我的应用程序的所有活动(无论从何处启动)启动到同一个实例中?

    1 回复  |  直到 6 年前
        1
  •  2
  •   unzila    6 年前

    为此,您必须使用这样的活动标志从通知开始活动

    yourintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    

    它将清除前台活动实例和在上面创建的新活动实例。