Android开发中Intent类的putExtra和setData 区别?

感觉两个方法都可以用于在Activity之间传值啊,有什么区别呢?
2025-02-14 06:57:44
推荐回答(2个)
回答1:

setData,传入的是Uri,并且可以指定Data 的Type,用于数据的过滤。setData可以被系统用来寻找匹配目标组件。
putExtra 只是用来设定各种不同类型的附加数据。不被系统用来寻找匹配目标组件。
参见:
http://hi.baidu.com/%BA%C2%D7%D3%E7%F7/blog/item/d338b0eb18e062ccd539c9b8.html

回答2:

putExtra:将数据以key:value的形式放入一个Parcelable对象中,直接由Intent对象携带,适合少量数据。
setData:将数据以数据流的方式传输,Intent接收后再单独接收Data部分,适合数据量较大的数据传输,如文件或图片等。