0

我有两个 Activity:Activity1 和 Activity2 Activity1 启动 Activity2,我想将 Activity2 的结果发送到 Activity1,但我不能使用 startActivityForResult(),因为 Activity1 的 lanuchmode 是 singelInstance。有没有办法从 Activity1 向 Activity2 发送回调?(据我所知,一种是发送 BroadCaseReceiver,另一种是在 Activity2 中设置静态参数)

非常感谢!

4

2 回答 2

0

startActivityForResult 无法与 launchMode singleInstance 一起正常工作

一个类似的问题,它建议使用保存的实例状态和/或将信息保存到数据库/全局存储。

如果活动的启动模式为 singleInstance,则不会触发 onActivityResult

建议您使用不同的类型,将 singleInstance 替换为 singleTask

您可以扩展您想要启动的活动并将其类型强制为该场景的不同类型,将原始类型保留为 SingleInstance。

于 2012-08-20T09:23:39.243 回答
0

使用广播在两个活动之间进行通信是行不通的。一次只有一个活动会处于活动状态。例如,使用它在 Activity 和 Service 之间进行通信确实很有意义。

通常,您可以使用 Intent Extras 将信息传递给下一个 Activity。即,使用 putExtra。

(java.lang.String, android.os.Bundle)

于 2012-08-20T09:28:24.933 回答