Firefox for Android在点击链接时无法启动应用

Sta*_*tan 27 firefox android url-scheme intentfilter android-intent

Firefox不会按照应有的方式触发点击链接的意图.因此,无法通过点击Firefox中的链接启动他们的应用程序(可以在Chrome和其他浏览器中使用).

编辑:请记住,这是2013年的帖子.

所需的行为如下:在我的网站上,我有一个链接,点击后应启动我的Android应用程序.如果未安装该应用,最好打开Goog​​le Play中的页面进行下载.

方法

我实现它的方式是使用以下形式的"intent URI": intent://myhost.com/#Intent;scheme=myscheme;package=com.myapp;end

在应用程序中,我在清单中注册了一个intent过滤器并监听匹配的意图.但是,单击链接时,浏览器需要触发此类意图,以便我的应用程序可以启动.

我已经使用各种浏览器测试了这种方法,并且它适用于大多数浏览器.除了Firefox之外的明显例外.使用其他浏览器,我的应用程序将启动,或者Google Play中的页面加载(如果设备上未安装该页面).

具有"意图URI"的方法是Google推荐的方法.它在Chrome和其他一些浏览器上运行良好.还有其他方法.我已经阅读了许多有关可能性的主题和文章.主要的替代方案是:

替代方法

  1. 使用自定义方案,如 myscheme://mywebsite.com
  2. 使用常规的http链接,比如 http://mywebsite.com

不推荐备选方案1有两个原因: - 我没有这样的方案,它在全球范围内不存在,这是错误的.谷歌也曾用它market://...来启动谷歌播放应用程序,但他们承认这是错误的,应该改变. - 如果我的应用程序当前未安装,则不会启动它,并且大多数浏览器都会显示错误页面,这显然是不合需要的.

备选方案2在大多数浏览器上不起作用,似乎不赞成使用"意图URI"方法.

特别是Firefox

仅适用于自定义方案(备选方案1).在常规http链接(备选2)的情况下,它只加载链接并显示网站.在推荐的"intent URI"方法的情况下,它什么都不做.实际上,它会显示一个对话框,询问您是否要启动应用程序,但是当您单击是时,没有任何反应.所以似乎Firefox识别像" intent://..." 这样的链接,但没有正确处理它们.

问:从Firefox中的链接启动应用程序的推荐方法是什么?为什么Firefox不支持"intent URI"方法?

相关链接:https : //developers.google.com/chrome/mobile/docs/intents /sf/answers/243055991/(请记住,该主题很老)

Cas*_* Lo 1

一种选择是添加隐藏的 iframe,例如:

<iframe src="myscheme://..." style="visibility: hidden"></iframe>
Run Code Online (Sandbox Code Playgroud)

经过测试,它可以在 Firefox 上运行,但不能在 Chrome 上运行。您可能想使用一些用户代理检测,这是一个示例:http ://www.mazdigital.com/blog/post/2014/deep-links-on-mobile-browsers-demystified/