它的一些实现,以及看似一些设备,似乎永远不会返回RESULT_OK等于-1,只是返回一个误导的0,而包括所有必要的数据在Intent额外
我见过很多Google示例代码不再对resultCode做条件,但是他们可以在不破坏任何东西的情况下弃用它,鉴于Google倾向于弃用完全非功能方法,因为他们更喜欢他们的新名称,他们可以重载一个新的onActivityResult,简单地不把resultCode作为方法参数。
我想知道是否有一个技术解释或博客文章对于特定的消息传递协议似乎只是失败,没有任何更新的文档说"嘿,也许不要依赖于任何押韵或原因的resultCode"
结果代码值是由特定活动的实现定义的契约。Android唯一正确定义的契约是结果代码是一个整数。
Android定义了成功(RESULT_OK
)和失败(RESULT_CANCEL
)的简单常量,但这取决于活动来决定是否要使用这些,出于什么目的,使用不同的值,或者甚至不设置结果代码(在这种情况下默认是RESULT_CANCEL
)。在许多情况下,简单的成功或失败是不够的,活动返回其他int值。
所以,简短的回答是,你需要咨询活动的来源,看看它做什么(或文档,但合同不太可能在那里定义)。