我是否需要显式地将结果设置为RESULT_CANCELED?

我有一个活动,期望用户select一个项目,但用户可以select而不是select一个项目后点击后退button。 这个“项目select”活动是从startActivityForResult()开始的。

我想知道两件事情。 首先,当项目被选中时,只有setResult(RESULT_OK)就足够了,也就是说,如果我没有明确地设置,我能依靠结果不被设置为RESULT_OK吗?

其次,如果这还不足以依赖(未初始化的)结果,可以多次调用setResult(),第一次将结果“初始化”为RESULT_CANCELED,然后在用户select之后调用SetResult(RESULT_OK)一个项目,并在完成活动之前?

Solutions Collecting From Web of "我是否需要显式地将结果设置为RESULT_CANCELED?"

从文档 :

如果某个子活动由于任何原因(例如崩溃)而失败,那么父活动将会收到一个代码为RESULT_CANCELED的结果。

所以结果已经RESULT_CANCELED ,如果你没有明确指定其他代码。 当用户通过“返回”button退出应用程序时,您也会收到RESULT_CANCELED

你可以在每个Activity上使用setResult(RESULT_CANCELED)并调用finish()

在被覆盖的OnActivityResult ,如我所提到的,如果结果代码被取消。