使用 Chrome 的 Android 意圖

您可以使用 Android 意圖,直接從 Android 裝置上的網頁啟動應用程式。您可以實作使用者手勢,以自訂配置啟動應用程式,或使用 intent: 語法。

建構意圖錨定廣告並嵌入到網頁中,讓使用者可以選擇啟動應用程式。這樣可以靈活決定應用程式啟動的方式和時間,也就是說,您可以使用 Intent Extras 將資訊傳送至應用程式。

意圖式 URI 的基本語法如下:

intent:  
   HOST/URI-path // Optional host  
   #Intent;  
      package=\[string\];  
      action=\[string\];  
      category=\[string\];  
      component=\[string\];  
      scheme=\[string\];  
   end;

如需剖析詳細資料,請參閱 Android 原始碼

在未解析意圖或外部應用程式無法啟動時,系統會將使用者重新導向至備用網址。您可以使用意圖額外項目指定備用網址:

S.browser_fallback_url=[encoded_full_url]

使用 S.<name> 定義意圖額外項目。這個特殊額外項目具有回溯相容性。Chrome 會移除 browser_fallback_url,讓目標應用程式不會看到這個值。

在下列情況下,Chrome 不會啟動外部應用程式:

  • 無法解析意圖。換句話說,沒有任何應用程式可以處理意圖。
  • JavaScript 計時器嘗試在不使用使用者手勢的情況下開啟應用程式。

範例

以下為啟動 Zxing 條碼掃描器應用程式的意圖:

intent:  
   //scan/  
   #Intent;  
      package=com.google.zxing.client.android;  
      scheme=zxing;  
   end;

如要啟動 Zxing 條碼掃描器應用程式,請在錨定標記上為 href 編碼:

  <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">
    Take a QR code
  </a>

請參閱定義套件和主機的 Android Zxing 資訊清單

指定備用網址後,完整網址看起來會像這樣:

   <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end">
    Take a QR code
  </a>

現在,如果找不到應用程式、連結是由無需使用者手勢的 JavaScript 觸發,或是其他不啟動外部應用程式的情況,網址就會將使用者導向 zxing.org

注意事項

如果您使用包含 Extras 的意圖叫用 Android Activity,也可以加入這些詳細資料。

只有使用類別篩選器的活動才能叫用 android.intent.category.BROWSABLE,表示應用程式可以安全從瀏覽器開啟。

在下列情況下,Chrome 不會針對特定意圖 URI 啟動外部應用程式:

  • 系統會從輸入的網址重新導向意圖 URI。
  • 意圖 URI 是在使用者沒有手勢的情況下啟動。