【问题标题】:onActivityResult not working with android:launchMode="singleTask"onActivityResult 不适用于 android:launchMode="singleTask"
【发布时间】:2015-03-25 09:37:43
【问题描述】:

我从 Activity-A 调用 Activity-B,其中需要 Activity-B 中的 android:launchMode="singleTask" 和 Activity-A 中的 onActivityResult

当 Activity-B 完成时,我在 Activity-A 中遇到 onActivityResult 问题 onActivityResult 在 Activity-A 中未执行。

【问题讨论】:

    标签: android android-intent android-activity onactivityresult


    【解决方案1】:

    由于 Activity-B 是一个 singleTask,恐怕您无法从中返回结果,如文档所述:

    例如,如果您正在启动的活动使用 singleTask 启动模式, 它不会在您的任务中运行,因此您将立即收到取消结果。

    所以你不能从中返回结果,如果你需要Activity-B是singleTask,也没有办法绕过它。

    由于您自己开发了 Activity-B,您可以进行一些小改动并让它发送带有结果的广播,然后 Activity-A 可以列出该广播并获取结果。

    【讨论】:

    • 我正在考虑这个解决方案。
    • 我想这是正确的方法,请将此标记为答案,这样如果其他人遇到此问题,它可以看到它:) 祝你好运!
    • 这会影响哪个安卓版本?
    【解决方案2】:

    检查documentation 是否为onActivityResult()

    " [...] 例如,如果您正在启动的活动使用 singleTask 启动模式,它将不会在您的任务中运行,因此您将立即收到取消结果。"

    【讨论】:

    • 还有其他方法吗?
    猜你喜欢
    • 1970-01-01
    • 2012-02-16
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多