2017-02-25 58 views
-4

所以我有一個android應用程序的想法,其中應用程序的最重要功能的一部分是基於用戶輸入搜索特定信息並顯示該信息。我正在考慮使用明確的意圖來解決這個問題,但是在我開始之前,我想問問,是否有更好的方法來處理這個問題而不是使用明確的意圖?Android,我應該使用明確的意圖還是有另一種方式?

回答

0

Intents and Intent Filters

發出明確或隱含的意圖 Android支持顯性和隱性意圖。應用程序可以直接在意圖中定義目標組件(顯式意圖)或要求Android系統根據意圖數據(隱式意圖)評估註冊組件。

顯式意圖通過使用Java類作爲標識符來明確定義應該由Android系統調用的組件。顯式意圖通常在應用程序中使用,因爲應用程序中的類由應用程序開發人員控制。以下顯示瞭如何創建一個明確的意圖並將其發送到Android系統以啓動一項活動。

Intent i = new Intent(this, ActivityTwo.class); 
i.putExtra("Value1", "This value one for ActivityTwo "); 
i.putExtra("Value2", "This value two ActivityTwo"); 

隱含意圖指定應執行的操作以及可選的爲操作提供內容的數據。如果隱式意圖被髮送到Android系統,它會搜索註冊了特定操作和擬合數據類型的所有組件。如果只找到一個組件,Android將直接啓動該組件。如果Android系統識別出多個組件,用戶將得到一個選擇對話框,並可以決定哪個組件應該用於該意圖。

例如,以下告訴Android系統查看網頁。所有安裝的Web瀏覽器都應通過意向過濾器註冊到相應的意圖數據。

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.vogella.com")); 
startActivity(i); 
相關問題