簡體   English   中英

如何讓 Android 深層鏈接在 Chrome OS 瀏覽器中工作?

[英]How can Android deep links be made to work from the Chrome OS browser?

在 web 頁面上,我有一個 URL 是指向我的 Android 應用程序的深層鏈接。 它的格式為myapp://myrequest?url=someurl

這是通過應用清單中的意圖過濾器捕獲的。 我在活動的onCreate()中使用getIntent().getData.getQueryParameter("url")來獲取someurl部分,這是我需要進一步處理的部分。 意圖過濾器的形式為:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data
        android:scheme="myapp"
        android:host="myrequest" />
</intent-filter>

它在 Android 設備以及通過 APK 和/或 ChromeOS 設備上的 Play 商店安裝的 Android 瀏覽器上完美運行。 但它不適用於原生 ChromeOS 瀏覽器。 單擊鏈接時,將打開一個對話框,其中包含以下消息:

Google Chrome 操作系統無法打開此頁面

如何使它起作用? 我必須以不同的方式格式化 URL 嗎? 我是否必須添加和/或修改意圖過濾器? 還是我必須對 ChromeOS 使用一些完全不同的方法?

經過反復試驗,我注意到原生 ChromeOS 瀏覽器不喜歡使用自定義方案來打開 Android 應用程序。 如果您改為使用httphttps ,瀏覽器會詢問您是否要使用您的應用程序打開 URL。

例子:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data
        android:scheme="https"
        android:host="my.app.com" />
</intent-filter>

要測試啟動您的應用程序,請使用window.open("https://my.app.com"); 在瀏覽器控制台中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM