隱式和顯式意圖

顯式意圖用於在同一應用程式包中啟動活動或服務。在這種情況下,明確提到了目標類的名稱:

Intent intent = new Intent(this, MyComponent.class);
startActivity(intent);

但是,系統會在系統上為安裝在使用者裝置上的任何可以處理該意圖的應用程式傳送隱式意圖。這用於在不同應用程式之間共享資訊。

Intent intent = new Intent("com.stackoverflow.example.VIEW");

//We need to check to see if there is an application installed that can handle this intent
if (getPackageManager().resolveActivity(intent, 0) != null){ 
    startActivity(intent);
}else{
    //Handle error
}

有關差異的更多詳細資訊,請參閱此處的 Android 開發人員文件: 意圖解析