我不太瞭解數據字段意圖的真正目的。意圖 - 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