一项活动是在背景中,其他活动在前景中,

时间:2016-11-17 04:51:45

标签: android broadcastreceiver

我想做的是 -

我的应用程序处于运行状态,我暂停应用。把它移到后台。并且用户锁定屏幕然后将其解锁,因此对于ACTION_USER_PRESENT,我想从我的应用程序启动广告活动。但背景中的活动应该在背景中,前景中显示的活动是单独处理的。但是如果执行了前景活动的点击选项,它应该关闭前台活动并启动后台活动。

问题是 - 当用户出现意图时,我启动新活动,然后重新启动已暂停的活动。但我不想要这个,是应用程序在后台。只有新开始的活动才能显示在前面。

从接收器我这样做开始新的活动:

 Intent i = new Intent(context, MyAd.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);

1 个答案:

答案 0 :(得分:1)

开始一个全新的活动

Intent i = new Intent(context, MyAd.class);
context.startActivity(i);

因为FLAG_ACTIVITY_NEW_TASK将从堆栈中恢复旧打开的活动。

  

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

https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK

如果您只想在活动堆栈中保留活动即时。使用

i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);