Android:如何在没有旧活动的情况下启动活动,如下所示

时间:2010-12-10 23:09:46

标签: android service dialog android-activity

情景:

Activity "A" launches Service "S".

按“主页”/“返回”键不显示“A”。

一段时间后“S”开始意图活动“B”

Intent intent = new Intent(context, MyDialog.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

当前行为:“B”在场景中显示为“A”。

我想要的是什么:“B”在场景中显示没有“A”背后。

注意:活动B是对话活动

3 个答案:

答案 0 :(得分:1)

首先,你不应该这样做。服务不应该开始活动(一般而言)。除非特别要求(即发短信应用),否则您不希望窗口弹出用户。

如果符合您的要求,您可以在活动A上使用noHistory属性。 http://developer.android.com/guide/topics/manifest/activity-element.html#nohist

但正如你所描述的那样,你所看到的不应该发生,特别是如果你用后退按钮离开A。

答案 1 :(得分:0)

我相信您应该可以将finish();作为您在此处的最后一行。不过不要引用我的话。

答案 2 :(得分:0)

您可以从Android Service and AlertDialog Activity获得答案。引用comment of Albin

  

launchMode="singleInstance"

的清单中添加DialogActivity