51

startActivityForResult()和 和有什么不一样startActivity()

什么时候,为了什么,我应该使用每一个?

4

2 回答 2

43

开始活动

启动一个活动,就像你启动一个应用程序一样:例如:你有一个带有主屏幕和用户信息屏幕的应用程序:如果你按下用户信息按钮,你就会用这个启动用户信息活动。

开始活动结果

开始一项活动并期待一些回报。例如,在您的用户信息屏幕上,您可以上传个人资料图片。您以明确的目标启动画廊活动,以获取带有首选图片的 URI。您从字面上开始此活动以获得结果(图片。有一些技术方法可以确保您实际获得结果,但它们在手册中非常清楚。

于 2013-01-02T10:03:05.297 回答
29

startActivity将启动一个新活动,而不关心该活动何时以及如何完成。

显然

startActivityForResult在启动的活动决定完成时等待回调

startActivity()将启动您想要启动的活动,而不必担心从 startActivity 启动的新子活动到父活动的任何结果。

startActivityForResult()从您的活动开始另一个活动,它希望通过 startAcitvityForResult() 从新启动的子活动中获取一些数据并将其返回给父活动。

检查此链接 -Activity#startActivityForResult(Intent, int)

于 2013-01-02T10:06:23.393 回答