2016-06-09 58 views
0

我有一个活动A,它可以从另一个活动B开始,或者通过从Notification开始,它是在服务中创建的。无论从其他活动开始的活动是否显示通知。 A有一个按钮,使活动自行关闭。在android中的活动处理

我现在要实现以下行为:

  1. 如果活动AB运行,并且用户触摸按钮,应用程序应该返回B
  2. 如果活动AB运行并且用户触摸通知,则应显示正在运行的活动A。如果用户触摸该按钮,该应用程序应返回到B
  3. 如果活动A而不是B运行并且用户触摸通知,则应启动A.如果用户触摸该按钮,应用程序应完全关闭(在后台运行的Services/BackgroundReceivers除外)。

我需要设置哪些标记/如何开始Activity?目前,活动B启动创建A和通知的服务。原因是A可能还需要从启动该服务的BroadcastReceiver创建。这是正确的方式吗?

+0

Try Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK当启动活动A. 也不要设置活动A的父活动,这将设置后退按钮的默认行为。 – Vijay

+0

我试过了,但是当在场景3中调用'A'中的'finish()'时,活动就会变得最小化。我想实际关闭应用程序。 – heyarne

+0

然后尝试在按钮单击时调用finish()。 – Vijay

回答

1

好吧,据我所知,你想知道如何处理A活动中的按钮。如果它来自通知,则在点击按钮时完成应用程序。如果它已经在那里,你就完成了这个活动。我想说的是check this。所以,你可以使用onNewIntent方法来处理它。当A已经运行时,要更新的标志将被处理。