我有一个活动,如果应用程序收到推送通知,则会调用该活动。该活动从FLAG_ACTIVITY_NEW_TASK
和FLAG_ACTIVITY_CLEAR_TOP
开始。该活动称为“ A”,显示用户界面并在一段时间后结束。在这一点上,活动堆栈有问题。
场景:
调试后,我发现系统在完成活动A后会调用活动B的onResume
方法。
如果应用程序是从后台启动的,该如何保持在后台运行?我应该更改活动A的意图标志吗?
答案 0 :(得分:0)
您可以通过两种方式实现这一目标
1-来自带有活动标签android:noHistory="true"
的清单文件
2-当您盯着下面的活动设置标志时,从代码中获取
Intent mIntent = new Intent(context, Youractivity.class);
mIntent.setFlags(mIntent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(mIntent);
有关更多信息,请查看developers link
您可以做的另一件事是使用this.finish()
而不是notificationActivity中的this.finishAffinity();
。这样会关闭应用程序,而不会进入前台。