我们有一个由第三方管理的应用程序,我们可以从托管在我们自己域上的一个网站启动它。这在一段时间内运行良好,但在过去几个月的某个时候,它开始无法在某些版本的 Android 上运行.
它不会启动应用程序,而是转到浏览器中的 404 页面。
这是intent-filter
AndroidManifest中的相关内容
<intent-filter>
<data scheme="http"
host="m.ourdomain.net"
path="/OurApp"/>
<action name="android.intent.action.VIEW"/>
<category name="android.intent.category.DEFAULT"/>
<category name="android.intent.category.BROWSABLE"/>
</intent-filter>
我们网站上的链接如下所示:
string linkAddress = "http://m.ourdomain.net/OurApp?Location=" + locName + "&IP_Address=" + ip;
调用者:
Response.Redirect(linkAddress);
我能够在许多设备上对此进行测试:
它适用于 Android 版本 4.0.4 (Moto Bionic) 和 4.1.2 (Moto RAZR)。
它不适用于2.3.5 (HTC EVO) 和 4.1.1 (HTC DNA) 版本。
(会不会是 HTC 的问题?)
我还在 4.1.1 设备上使用 Dolphin 和 FireFox 对此进行了测试,并且问题仍然存在。
我注意到在它工作的设备上,我们的应用程序被设置为“默认应用程序”。如果我将其从“默认应用”中删除,然后单击我们的链接,则会出现一个小弹出窗口,询问我是否要使用浏览器或我们的应用打开链接。
这不会发生在它不工作的设备上。
有没有人知道为什么会发生这种情况,以及我该如何解决?