Firefox不会以应有的方式激发点击链接的意图。因此,无法通过单击Firefox中的链接来启动其应用程序(在Chrome和其他浏览器中可能如此)。

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

所需的行为如下:
在我的网站上,我有一个链接,单击该链接应启动我的Android应用程序。如果未安装该应用程序,则最好打开其在Google Play中的页面以下载该应用程序。

方法

我实现它的方式是使用以下形式的“意图URI”:intent://myhost.com/#Intent;scheme=myscheme;package=com.myapp;end
在应用程序中,我在 list 中注册了一个意图过滤器,并监听匹配的意图。但是,单击链接时,浏览器将触发这种意图,以便我的应用程序可以启动。

我已经在各种浏览器上测试了此方法,并且可以在大多数浏览器上使用。 Firefox异常(exception)。 使用其他浏览器,我的应用程序将启动,或者加载其在Google Play中的页面(以防设备上未安装该页面)。

Google推荐使用带有“意图URI”的方法。它可以在Chrome和其他一些浏览器上完美运行。
还有其他方法。我已经阅读了许多有关可能性的主题和文章。主要的替代方法是:

替代方法

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

  • 不建议使用替代方法1,原因有两个:
    -我没有这样的计划,它在全局范围内都不存在,这是错误的。 Google也在使用market://...启动Google Play应用,但是他们承认这是错误的,应该更改。
    -如果当前未安装我的应用程序,则该应用程序将无法启动,并且大多数浏览器都会显示错误页面,这显然是不可取的。

    替代方法2在大多数浏览器上均不起作用,并且似乎已弃用了“意图URI”方法。

    尤其是Firefox

    仅适用于自定义方案(替代1)。对于常规的http链接(替代2),它只会加载该链接并显示网站。对于推荐的“意图URI”方法,它什么也不做。实际上,它显示一个对话框,询问您是否要启动该应用程序,但是当您单击"is"时,没有任何 react 。因此,似乎Firefox可以识别“intent://...”之类的链接,但无法正确处理它们。

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

    相关链接:
    https://developers.google.com/chrome/mobile/docs/intents
    https://stackoverflow.com/a/3472228/1045941(请记住该线程已经很旧了)

    最佳答案

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

    <iframe src="myscheme://..." style="visibility: hidden"></iframe>
    

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

    10-06 14:08
    查看更多