您可以使用 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 是在使用者沒有手勢的情況下啟動。