我是否需要将setResult显式设置为RESULT_CANCELED?

Jef*_*rod 8 android android-activity

我有一个活动,希望用户选择一个项目,但用户可以选择单击后退按钮而不选择项目.此"项目选择"活动以startActivityForResult()开始.

我想知道两件事.首先,当实际选择项目时,只有setResult(RESULT_OK)就足够了,即,如果我没有明确地设置它,我可以依赖结果未设置为RESULT_OK吗?

第二,如果这是不够的依靠(初始化)的结果,是没关系的用户选择后调用的setResult()多次,第一次"初始化"的结果RESULT_CANCELED,然后调用的setResult(RESULT_OK)一件物品,在完成活动之前?

Dir*_*rol 10

文档:

如果子活动因任何原因(例如崩溃)失败,则父活动将收到包含该代码的结果 RESULT_CANCELED.

因此RESULT_CANCELED,如果您没有明确指定其他代码,则结果已经存在.当用户通过"后退"按钮退出您的应用时 - 您RESULT_CANCELED也会收到.