Android:服务如何在后面显示的堆栈中没有旧 Activity 的情况下启动 Activity

标签 android service dialog android-activity

场景:

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/

相关文章:

android - 打开时更改 Spinner 内容

java - 设备重启后启动 Phonegap 插件

facebook - 如何使用自定义 Facebook 对话框,如本示例

某一特定选项卡上的 jQuery Tab 自定义事件

java - Android Studio 在警报对话框中显示图像

java - Android 中的 Archos 5 IT 音频路径

android - 从 Intent 检索 Extras 时出现 NullPointerException

c# - 未处理 Windows 服务异常

service - 我可以使用 Fiddler 一次发送多个请求吗?

php - 在模态对话框中打开链接(如 Chrome 网上应用店)