我想做的是 -
我的应用程序处于运行状态,我暂停应用即。把它移到后台。并且用户锁定屏幕然后将其解锁,因此对于ACTION_USER_PRESENT,我想从我的应用程序启动广告活动。但背景中的活动应该在背景中,前景中显示的活动是单独处理的。但是如果执行了前景活动的点击选项,它应该关闭前台活动并启动后台活动。
问题是 - 当用户出现意图时,我启动新活动,然后重新启动已暂停的活动。但我不想要这个,是应用程序在后台。只有新开始的活动才能显示在前面。
从接收器我这样做开始新的活动:
Intent i = new Intent(context, MyAd.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
答案 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);