【问题标题】:New Intent wont start first time新意图不会第一次启动
【发布时间】:2011-05-08 18:15:28
【问题描述】:

我有 3 个意图 A->B->C

从 C 回到 A 你打开菜单并点击主页。这将完成 B 和 C 并打开 A,它在清单中设置为单个任务。

这一切都很完美,但是当我再次尝试从 A 打开 B 时,我必须在启动 B 的按钮上单击两次。而当应用第一次打开时,我只需单击一次即可打开 B

为什么会这样?

我想我知道为什么。我认为当我从 C 转到 A 时 B 还没有完成。这是在 C 上运行的代码

    Intent Intent = new Intent(this, com.home.test.Home.class);
    this.setResult(1, Intent);
    startActivity(Intent);
    this.finish();

如果我是正确的,它应该在 B 上触发它

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
    this.finish();
}

【问题讨论】:

    标签: java android


    【解决方案1】:

    您很可能不需要singleTask。在 C 中,当您调用 startActivity() 时,将 FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP 作为 Intent 标志传递。这将在前往起点 A 的途中完成 C 和 B。

    【讨论】:

    • 啊,我刚刚在编辑后看到了这个,听起来就像我需要的一样。如果可能的话,您能否详细说明一下。谢谢
    • 谢谢。这是一个比我以前更好的解决方案。我在实现它时遇到了麻烦,但这是因为我忘记从清单中删除 singleTask。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多