2014-09-28 75 views
2

我理解意圖的概念,但我不明白這些意圖有什麼區別?

Intent intent = new Intent(Intent.ACTION_WEB_SEARCH) 
Intent shopIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format(str))); 

// To open directly into youtube app 
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + id)); 

之間的差異有人可以簡化操作的網絡搜索和動作視圖之間的區別? 和最後兩個動作視圖的區別?

我正試圖學習Android應用程序的編程。謝謝。

回答

1

ACTION_WEB_SEARCH有2個不同的工作模式 - 如果您傳遞以http開頭的url,則會打開該網頁。如果不是url,你通過一個詞或短語 - 然後谷歌搜索打開

ACTION_VIEW可用於顯示許多不同的對象 - 我想如果你傳入http(s)url到它,然後它會再次打開一個瀏覽器 - 所以在這個特定的用例中,它看起來類似於ACTION_WEB_SEARCH。不同的是,ACTION_VIEW可以用於其他對象(mailto:將打開一個電子郵件撰寫窗口,電話:將打開一個撥號器等)

最後一個又是更具體 - 打開一個特定的Youtube視頻。我建議通過官方Android文檔中的鏈接頁面來了解所有的細微差別。

1

您應該首先通過https://developer.android.com,您可以輕鬆找到答案。

ACTION_WEB_SEARCH用於執行網絡搜索。請參閱this.

雖然ACTION_VIEW用於將數據顯示給用戶。見this.

和最後兩個intents之間的區別是,第一走的是一條formatted string作爲它的參數,而第二直接服用string