![](/img/trans.png)
[英]How to open android TeamViewer QuickSupport with Chrome intents (deep link) or any other way from a browser
[英]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 應用程序。 如果您改為使用http
或https
,瀏覽器會詢問您是否要使用您的應用程序打開 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.