Android StartActivityForResult()和OnActivityResult()都需要吗?
是否需要使用Android StartActivityForResult()和OnActivityResult()都需要吗?,android,onactivityresult,start-activity,Android,Onactivityresult,Start Activity,是否需要使用startActivityForResult()启动活动,以在第二个活动中设置结果,或者 可以通过正常的startActivity()启动活动,但仍然在第二个活动中设置一个结果,并使用onActivityResult()?方法活动。onActivityResult是一个回调。它与startActivity和startActivityForResult不同,因为响应是异步的 您可以设置活动的结果而无需任何要求,但只有在“结果”活动以startActivityForResult启动时,才
startActivityForResult()
启动活动
,以在第二个活动中设置结果,或者
可以通过正常的
startActivity()
启动活动
,但仍然在第二个活动
中设置一个结果,并使用onActivityResult()
?方法活动。onActivityResult
是一个回调。它与startActivity
和startActivityForResult
不同,因为响应是异步的
您可以设置活动的结果
而无需任何要求,但只有在“结果”活动以startActivityForResult
启动时,才会调用方法onActivityResult
因此,是的,如果您想启动一个活动并获得结果,您需要首先使用
活动启动它。startActivityForResult
,然后覆盖onActivityResult
,并在那里捕获结果。只有使用startActivityForResult()启动该活动,您才能从中获得结果
如果两种方法都做相同的事情,为什么会有两种方法?您希望requestCode
的值是多少?此外,测试这一点不应该超过5分钟,大约需要20行代码。答案在于Antoine的评论。我已经检查过了,但是我很困惑,如果startActivityForResult()是在其他活动中接收结果的唯一方法,那么如果没有人可以阅读,那么在子活动中setResult()
有什么用呢。因为我在这里看到了某人的实现,所以我认为setResult()
还有一种我不知道的方法,可以用来获取父活动的结果。那么,如果没有startActivityForResult我无法获取结果,那么设置结果有什么用呢?可以用其他方式阅读吗?API的设计理念是,如果您想要得到结果,您就知道它,因此可以使用startActivityForResult
启动活动。我看不到在其他条件下使用活动的结果,并且API没有活动。getResult
方法,只有一个setResult
方法。@Darpan如果您已经覆盖了onActivityResult
以获得结果,那么没有什么可以阻止您调用startActivityForResult