使用 Chrome 的 Android 意圖

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

建構意圖錨點並嵌入頁面,讓使用者可以選擇啟動應用程式。這樣一來,您就能靈活決定應用程式的啟動方式和時間,也就是說,您可以使用意圖額外項目將資訊傳遞至應用程式。

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

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

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

如果無法解析意圖或外部應用程式未啟動,使用者就會重新導向至備用網址。您可以使用 Intent Extra 指定備用網址:

S.browser_fallback_url=[encoded_full_url]

使用 S.<name> 定義 Intent Extras。這個額外功能與舊版相容。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 活動,也可以加入這些詳細資料。

只有具有類別篩選器 android.intent.category.BROWSABLE 的活動才能使用此方法叫用,因為這表示應用程式可安全地從瀏覽器開啟。

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

  • 意圖 URI 會從輸入的網址重新導向;
  • 意圖 URI 會在使用者做出手勢時啟動。