Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上的Opera Mobile没有';无法打开应用程序(不遵守意图过滤器)_Android_Opera_Intentfilter - Fatal编程技术网

Android上的Opera Mobile没有';无法打开应用程序(不遵守意图过滤器)

Android上的Opera Mobile没有';无法打开应用程序(不遵守意图过滤器),android,opera,intentfilter,Android,Opera,Intentfilter,我正在Android上为一个需要将其与Opera Mobile(而不是其他浏览器)集成的客户构建一个定制软件。其中一个要求是浏览器中打开的特定链接由我们的定制软件处理。我知道的比我想知道的更多关于意图过滤器,这不是问题所在 问题是Opera Mobile似乎非常顽固地允许操作系统处理Opera可以自行处理的链接。例如,使用任何行为良好的浏览器(默认的Android浏览器,Chrome等)在谷歌上搜索“谷歌游戏”;现在点击第一个结果(Google Play网站):根据您现有的设置,您会收到关于使用

我正在Android上为一个需要将其与Opera Mobile(而不是其他浏览器)集成的客户构建一个定制软件。其中一个要求是浏览器中打开的特定链接由我们的定制软件处理。我知道的比我想知道的更多关于意图过滤器,这不是问题所在

问题是Opera Mobile似乎非常顽固地允许操作系统处理Opera可以自行处理的链接。例如,使用任何行为良好的浏览器(默认的Android浏览器,Chrome等)在谷歌上搜索“谷歌游戏”;现在点击第一个结果(Google Play网站):根据您现有的设置,您会收到关于使用哪个应用程序的提示,或者Google Play应用程序会直接打开。现在在Opera Mobile中尝试同样的方法:Opera只是打开Google Play网站本身——这显然是不可取的,因为现在你不能安装应用程序,你只能浏览目录


有人知道如何说服Opera Mobile在这方面表现良好吗?我正在使用Opera Mobile版本12.10进行测试。

尝试使用意向URL而不是默认URL。 例如:

有关更多详细信息,请参阅:


我不知道意图——但它们实际上与声明自己的协议相同(例如。gutza://myhost.com/test),因为它违反了标准,而且不会优雅地降级(想想跨平台)。当我在2013年遇到这个问题时,我最终宣布了一个协议,因为我找不到任何解决办法(客户确实需要Opera)。IMHO意向URL同样不雅观,唯一的优点是你可以独立于应用程序编写意向URL(这在当时对我来说是无关紧要的)。不过,谢谢你花时间回答,我确实学到了一些新东西!我知道已经很久没有了,但你找到解决办法了吗?我正在使用Opera(已经43节了),但它似乎仍然不尊重我的意图。我不确定我到底记得我是如何整理它的,但我想我必须走丑陋的道路(tm)——我使用了一个自定义协议;它确实尊重,因为它不知道如何处理它。例如,我没有注册foo.com并打开它,而是注册了协议myprotocol并要求它打开myprotocol://foo.com/. 嗯。我现在注意到,我早在2015年就回答了这个问题——请参阅我对下面唯一答案的评论。至少就我而言,这似乎每隔一年就会出现一次。有趣的是,明天将是我问最初问题的四年后的一天。哈,至少我不是唯一一个这样做的人。谢谢你的帮助!
default - "http://myhost.com/test"
intent - "intent://myhost.com/test#Intent;action=android.intent.action.VIEW;scheme=http;end;"