Java 意向额外数据和意向数据之间的区别是什么?

Java 意向额外数据和意向数据之间的区别是什么?,java,android,android-intent,Java,Android,Android Intent,我看到任何意图都有额外的字段和数据字段 它们之间有什么区别,或者只是概念上的区别?根据,返回一个Uri,而返回一个Bundle。是的,这是有区别的,区别不仅仅是概念上的。意图中的数据包含要操作的URI,例如电子邮件客户端的URI。Extras包含关于URI的捆绑包,该URI可以携带额外的数据信息,例如,对于电子邮件客户端,您可以放入主题正文等。如以下文档中所述: data:不是一个内容,而是一个URI,它描述了对于指定的操作应该做什么 Extras包含一个Bundle,它是HashMap的一个实

我看到任何意图都有
额外的
字段和
数据
字段


它们之间有什么区别,或者只是概念上的区别?

根据,返回一个
Uri
,而返回一个
Bundle
。是的,这是有区别的,区别不仅仅是概念上的。

意图中的数据包含要操作的URI,例如电子邮件客户端的URI。Extras包含关于URI的捆绑包,该URI可以携带额外的数据信息,例如,对于电子邮件客户端,您可以放入主题正文等。

如以下文档中所述:

data:不是一个内容,而是一个URI,它描述了对于指定的操作应该做什么

Extras包含一个Bundle,它是HashMap的一个实现,用于存储特定数据的键值

数据

引用要对其执行操作的数据和/或该数据的MIME类型的URI(URI对象)。提供的数据类型通常由意图的行为决定。例如,如果操作是action_EDIT,那么数据应该包含要编辑的文档的URI

数据返回URI

附加服务

携带完成请求操作所需的附加信息的键值对。正如某些操作使用特定类型的数据URI一样,某些操作也使用特定的附加URI

Extras包含一个Bundle,它是HashMap的一个实现,用于存储特定数据的键值

额外退货包


有关额外意图和数据的更多信息,请参考

我不认为差异是概念上的。
getExtras()
返回一个
bundle
getData()
返回一个
Uri


通常我从
getData()
接近
Uri
,以指示在何处操作。以及
extra
字段作为
Map/Bundle
,用于将参数或参数放入我使用的意图中。

概念或标签。有点奇怪。在这里,数据并不真正意味着数据。事实上,这并不意味着内容

您应该使用te额外字段来传递非URI数据(URI、URL、电话号码等)。对于简单数据,通常可以使用额外字段

数据——要操作的数据,如联系人数据库中的个人记录,表示为Uri(统一资源标识符)

附加信息——这是一组附加信息。这可用于向组件提供扩展信息。例如,如果我们有一个发送电子邮件的动作,我们还可以在这里包含额外的数据片段,以提供主题、正文等