我不太了解数据字段意图的真正目的。意图 - setData vs Extras
我已经看到类似下面的一些例子:
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
所以从文档好像数据只是给你的URI,基本上在数据所在的位置。
不能所有事情都是用putExtra
来完成的,只是让Activity
得到额外的。
对于上面的示例,您可以将电话号码放在额外的位置,让活动获得额外的拨号。您什么时候可以使用setData
vs putExtra
?
setData()用于指向数据对象的位置(例如文件),而putExtra()添加简单数据类型Ref:http://stackoverflow.com/questions/18794504/intent-setdata -vs-intent-putextra#answer-21363437 – Sachin
@Sachin,但它似乎并不总是这样,因为在我的例子中它是一个字符串。如果你无法putExtra,你会只使用setData吗?因为putExtra可以接受更复杂的数据类型,只要它是Parcelable – Alan