-1

它的一些实现,以及看似一些设备,似乎永远不会返回等于 -1 的 RESULT_OK,而只是返回一个误导性的 0,同时在 Intent extras 中包含所有必要的数据

我已经看到很多 Google 示例代码根本不再对 resultCode 执行条件,但是他们可以在不破坏任何内容的情况下弃用它,因为 Google 倾向于弃用完全非功能性的方法,因为他们更喜欢他们的新名称,他们可能会重载新的 onActivityResult 根本没有 resultCode 作为方法参数。

我想知道是否有关于该特定消息传递协议似乎根本失败的技术解释或博客文章,文档中没有任何更新说“嘿,也许不要依赖任何押韵或理由的结果代码”

4

1 回答 1

4

结果代码值是由特定活动的实现定义的合同。Android 正确定义的唯一协定是结果代码是一个整数。

Android 为成功 ( RESULT_OK) 和失败 ( RESULT_CANCEL) 定义了简单的常量,但由 Activity 决定是否要使用这些常量、出于何种目的、使用不同的值,或者甚至不设置结果代码(在这种情况下默认为RESULT_CANCEL)。在许多情况下,简单的成功或失败都不够完整,活动会返回其他 int 值。

因此,简短的回答是您需要咨询活动的来源以查看它的作用(或文档,但不太可能在那里定义合同)。

于 2016-09-15T22:53:34.550 回答