【发布时间】:2015-08-17 23:27:07
【问题描述】:
我有一个 Activity A,它调用 startActivityForResult 来启动 Activity B,通常用户可以从 Activity A 中单击一个按钮来启动 Activity B 以获得结果。
现在我需要从Activity C打开Activity B,当Activity B返回时,它应该回到Activity A。这可能吗?
我正在尝试使用意图从 Activity C 启动 Activity A 并调用 A 的 startActivityForResult 方法,但似乎无法获取 Activity A 的实例。
正常堆栈是A->B,但现在我希望它是C->B,但是当B返回时,它会将结果返回给A。
我在想是否有可能的方法来做 C->A->B 但对用户隐藏 A?
【问题讨论】:
-
为什么不直接启动活动 B,当结果返回到活动 C 时,使用结果数据启动对活动 A 的意图?您是否可以控制活动 B? Activity A 的实例不可访问,因为它可能已暂停、恢复、销毁等,具体取决于系统资源的使用情况。
-
可以肯定,但是如果B从C启动,A就不会知道B的结果
-
C 是从 A 启动的吗?还是你想迷惑你的用户?