您可以利用 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 會在使用者做出手勢時啟動。