如何通过Chrome OS浏览器创建Android深度链接?
在一个网页上,我有一个链接到我的Android应用程序的URL。其形式为如何通过Chrome OS浏览器创建Android深度链接?,android,url,deep-linking,google-chrome-os,androidappsonchromeos,Android,Url,Deep Linking,Google Chrome Os,Androidappsonchromeos,在一个网页上,我有一个链接到我的Android应用程序的URL。其形式为myapp://myrequest?url=someurl 这是通过应用程序清单中的意图过滤器捕获的。我在活动的onCreate()中使用getIntent().getData.getQueryParameter(“url”)来获取someurl部分,这是我需要进一步处理的部分。意向过滤器的形式如下: <intent-filter> <action android:name="android.int
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 store安装的Android浏览器上都能完美工作。但它不能从本机ChromeOS浏览器工作。单击链接时,将打开一个对话框,其中显示以下消息:
谷歌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");浏览器控制台中的代码>