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

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

什么时候使用,什么用途?

2个解决方案
36 votes

活动开始

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

startActivityForResult

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

Nanne answered 2020-02-21T21:07:52Z
25 votes

startActivity将启动一个新的活动,并且不在乎该活动何时何地完成。

显然地

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

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

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

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

Randroid answered 2020-02-21T21:08:35Z
translate from https://stackoverflow.com:/questions/14119992/difference-between-startactivityforresult-and-startactivity