【发布时间】:2013-07-31 09:11:09
【问题描述】:
Firefox 不会按应有的方式触发点击链接的意图。因此,无法通过单击 Firefox 中的链接来启动他们的应用程序(这在 Chrome 和其他浏览器中是可能的)。
编辑:请注意这是 2013 年的帖子。
所需的行为如下: 在我的网站上,我有一个链接,点击后应该会启动我的 Android 应用程序。如果未安装该应用,最好打开其在 Google Play 中的页面进行下载。
方法
我实现它的方式是使用以下形式的“意图 URI”:
intent://myhost.com/#Intent;scheme=myscheme;package=com.myapp;end
在应用程序中,我在清单中注册了一个意图过滤器并侦听匹配的意图。但是,当点击链接时,由浏览器触发这样的意图,以便我的应用程序可以启动。
我已经在各种浏览器上测试过这种方法,并且它适用于大多数浏览器。 Firefox 除外。在其他浏览器中,我的应用要么启动,要么加载其在 Google Play 中的页面(以防设备上未安装)。
带有“intent URI”的方法是谷歌推荐的方法。它在 Chrome 和其他一些浏览器上完美运行。 还有其他方法。我已经阅读了许多关于可能性的主题和文章。主要的替代方案是:
替代方法
- 使用自定义方案,例如
myscheme://mywebsite.com - 使用常规的 http 链接,例如
http://mywebsite.com
不推荐使用方案 1,原因有二:
- 我不拥有这样的计划,它在全球范围内不存在,这是错误的。 Google 也使用market://... 启动 Google Play 应用程序,但他们承认这是错误的,应该改变。
- 如果我的应用当前没有安装,它将不会启动,并且大多数浏览器都会显示错误页面,这显然是不可取的。
Alternative 2 不适用于大多数浏览器,似乎已被弃用,取而代之的是“intent URI”方法。
特别是火狐
仅适用于自定义方案(备选方案 1)。如果是常规的 http 链接(备选方案 2),它只会加载链接并显示网站。在推荐的“intent URI”方法的情况下,它什么也不做。实际上,它会显示一个对话框,询问您是否要启动该应用程序,但是当您单击“是”时,什么也没有发生。因此,Firefox 似乎可以识别“intent://...”之类的链接,但不能正确处理它们。
问:在 Firefox 中从链接启动应用程序的推荐方法是什么?为什么 Firefox 不支持“intent URI”方法?
相关链接: https://developers.google.com/chrome/mobile/docs/intents https://stackoverflow.com/a/3472228/1045941(请记住,线程已经很老了)
【问题讨论】:
-
这有帮助吗? support.mozilla.org/en-US/questions/977330 Forefox 似乎绕过了默认的 Android 意图处理方式
-
你找到解决办法了吗?
-
我有一段时间没有对此进行调查,但做了一个快速测试,似乎它仍然无法正常工作。在@Seppl 发布的链接中,他们承诺应该在最近的版本中修复它。有人有什么新发现吗?
-
据我所知,在我自己在 Android 上安装的 Firefox 中,现在顶部栏中有一个 android 机器人按钮,该按钮通过当前打开的页面启动一个意图
-
Firefox 现在支持
intent:方案:bugzilla.mozilla.org/show_bug.cgi?id=851693
标签: android firefox android-intent intentfilter url-scheme