startActivityForResult() 和 startActivity() 的区别? [关闭]

Posted

技术标签:

【中文标题】startActivityForResult() 和 startActivity() 的区别? [关闭]【英文标题】:Difference between startActivityForResult() and startActivity()? [closed] 【发布时间】:2012-12-16 16:46:07 【问题描述】:

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

我应该在什么时候、为了什么目的使用每一个?

【问题讨论】:

阅读前。 developer.android.com/reference/android/app/Activity.html startActivity() 只是启动一个活动。 startActivityForResult() 启动一个activity,并在调用activity的onActivityResult()方法中返回生成的结果 查看此链接saiful103a.wordpress.com/2011/03/19/… 【参考方案1】:

开始活动

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

startActivityForResult

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

【讨论】:

【参考方案2】:

startActivity 将开始一个新的活动,而不关心该活动何时以及如何结束。

显然

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

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

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

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

【讨论】:

以上是关于startActivityForResult() 和 startActivity() 的区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Fragment的startActivityForResult和Activity的startActivityForResult的区别

如何在 onActivityResult 中调用 startActivityForResult?

startActivityForResult和setResult详解

Android------startActivityForResult

startActivityForResult详解

如何从 TabHost Activity 返回结果(startActivityForResult)?