Firefox不会按照应有的方式触发点击链接的意图。因此,无法通过点击Firefox中的链接启动他们的应用程序(可以在Chrome和其他浏览器中使用)。
修改:请注意,这是2013年的帖子。
所需的行为如下: 在我的网站上,我有一个链接,点击后应启动我的Android应用程序。如果未安装该应用,最好打开其在Google Play中的页面进行下载。
我实现它的方式是使用以下形式的“intent URI”:
intent://myhost.com/#Intent;scheme=myscheme;package=com.myapp;end
在应用程序中,我在清单中注册了一个intent过滤器并监听匹配的意图。但是,当点击链接时,浏览器会触发这样的意图,以便我的应用程序可以启动。
我已经使用各种浏览器测试了这种方法,并且它适用于大多数浏览器。 除了Firefox之外。对于其他浏览器,我的应用程序会启动,或者Google Play中的页面加载(如果设备上没有安装它)。
具有“意图URI”的方法是Google推荐的方法。它在Chrome和其他一些浏览器上运行良好。 还有其他方法。我已经阅读了许多关于可能性的线索和文章。主要的替代方案是:
myscheme://mywebsite.com
http://mywebsite.com
不建议使用备选方案1,原因有两个:
- 我没有这样的计划,它在全球范围内不存在,这是错误的。谷歌也在使用market://...
启动Google Play应用,但他们承认这是错误的,应该改变。
- 如果我的应用程序当前未安装,则不会启动,并且大多数浏览器都会显示错误页面,这显然是不受欢迎的。
备选方案2在大多数浏览器上都不起作用,似乎不赞成采用“意图URI”方法。
仅适用于自定义方案(备选方案1)。在常规http链接(备选2)的情况下,它只加载链接并显示网站。在推荐的“intent URI”方法的情况下,它什么都不做。实际上,它会显示一个对话框,询问您是否要启动应用程序,但是当您单击是时,没有任何反应。因此,似乎Firefox会识别“intent://...
”之类的链接,但却无法正确处理它们。
问:从Firefox中的链接启动应用的推荐方法是什么?为什么不支持Firefox的“意图URI”方法?
相关链接: https://developers.google.com/chrome/mobile/docs/intents https://stackoverflow.com/a/3472228/1045941(请记住线程很旧)
答案 0 :(得分:1)
一种选择是添加隐藏的iframe,例如:
<iframe src="myscheme://..." style="visibility: hidden"></iframe>
它经过测试可以在firefox上运行,但它不会在chrome上工作。您可能想要使用一些用户代理检测,例如:http://www.mazdigital.com/blog/post/2014/deep-links-on-mobile-browsers-demystified/