场景:
Activity "A" launches Service "S".
按'Home'/'back'键不显示“A”。
一段时间后“S”开始 Intent Activity “B”
Intent intent = new Intent(context, MyDialog.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
当前行为:“B”与“A”一起出现在场景中。
我想要的:“B”出现时没有“A”出现在场景后面。
注意:Activity B 是一个 Dialog Activity
最佳答案
首先,你不应该这样做。服务不应启动 Activity (通常)。除非特别要求(即短信应用),否则您不希望用户弹出窗口。
如果符合您的要求,您可以在 Activity A 上使用 noHistory 属性。 http://developer.android.com/guide/topics/manifest/activity-element.html#nohist
但是正如您所描述的那样,您所看到的不应该发生,尤其是当您使用后退按钮离开 A 时。
关于Android:服务如何在后面显示的堆栈中没有旧 Activity 的情况下启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414113/