从documentation可以看出,启动Activity
以便传回数据的方式是这样的:
Activity
启动startActivityForResult(Intent intent, int requestCode)
。Activity
电话setResult(int resultCode, Intent data)
。onActivityResult(int, int, Intent)
上实施Activity
。问题是:在这种情况下使用Intent
是一种模式或设计考虑因素,因为其他地方的活动间数据都表示为Bundle
?
答案 0 :(得分:0)
通过传回一个意图而不仅仅是一个包,调用者可以收到一些东西,可以直接启动另一个活动,服务等。虽然在所有(甚至大多数)情况下可能不需要,但它仍然允许捆绑将在意图的附加内容中传递。
答案 1 :(得分:0)
在我得到更详细的答案之前,我唯一可以想到的是,这是专门为了让被叫活动增加对结果行动的控制而做的。
我能看到以这种方式完成更好的唯一场景是,如果被调用的Activity位于另一个沙箱中,并且可以使用显式Class
引用构建Intent,而不是通过使用Action
将结果调用锁定为指定的显式Activity
。