Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android StartActivityForResult()和OnActivityResult()都需要吗?_Android_Onactivityresult_Start Activity - Fatal编程技术网

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