startActivityForResult()和startActivity()之间的区别?

时间:2013-01-02 09:59:30

标签: android android-intent android-activity start-activity

startActivityForResult()startActivity()之间有什么区别?

何时以及为什么我应该使用每一个?

2 个答案:

答案 0 :(得分:32)

startActivity

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

startActivityForResult

开始活动并期待回报。例如,在您的用户信息屏幕上,您可以上传个人资料照片。您可以使用明确的目标启动gallery-activity,以使用首选图片返回URI。你可以从文学上开始这项活动以获得一个结果(图片。有一些技术方法可以确保你真正得到结果,但在手册中它们非常清楚。

答案 1 :(得分:22)

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

显然

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

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

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

点击此链接 - Activity#startActivityForResult(Intent, int)