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详解