【发布时间】:2013-11-20 20:24:04
【问题描述】:
我正在为需要将其与 Opera Mobile 集成(而不是其他浏览器)的客户在 Android 上构建自定义软件。其中一项要求是在浏览器中打开的特定链接由我们的定制软件处理。我对意图过滤器的了解比以往任何时候都多,这不是问题所在。
问题在于 Opera Mobile 似乎非常固执地允许操作系统处理 Opera 可以自行处理的链接。例如,使用任何性能良好的浏览器(默认的 Android 浏览器、Chrome 等)在 Google 上搜索“Google Play”;现在单击第一个结果(Google Play 网站):根据您现有的设置,系统会提示您使用哪个应用程序,或者直接打开 Google Play 应用程序。现在在 Opera Mobile 中尝试相同的操作:Opera 只是打开 Google Play 网站本身——这显然是不可取的,因为现在您无法安装应用程序,只能浏览目录。
有没有人知道有什么方法可以说服 Opera Mobile 在这方面正确行事?我正在使用 Opera Mobile 12.10 版进行测试。
【问题讨论】:
-
我知道这已经很久了,但您找到解决方案了吗?我正在使用 Opera(已经是 V.43),但它似乎仍然不尊重意图。
-
我不确定我到底记得我是如何整理出来的,但我想我必须走 Ugly Way (tm)——我使用了自定义协议;它确实尊重,因为它不知道如何处理它,例如我没有注册 foo.com 并打开 foo.com,而是注册了协议 myprotocol 并要求它打开 myprotocol://foo.com/。 HTH。我现在注意到我在 2015 年回答了同样的问题——请参阅我对下面唯一答案的评论。这似乎每隔一年就会出现一次,至少就我而言。有趣的是,明天将是我提出最初问题的 4 年后。
-
哈,至少我并不孤单。感谢您的帮助!
标签: android opera intentfilter